MACAddress
EthernetSwitching
IPAddress
StaticRouting
DynamicRouting
transport layer L4 port정보; TCP, UDP
internet layer L3
network access layer L2
전체 ip? 2^32 개
공인 ip와 사설 ip를 나누는 이유: 공인 ip갯수 초과
cdn(contents delivery network)
broadcast: 목적지를 가지지 않고 통신; ARP request
bum traffic: unicast + multicast + unknown unicast(ARP reply 시 목적지 맥이 없을 때 발생)
스위치
- 여러개의 물리적 랜에 걸쳐서 존재할 수 있는 논리적 브로드 캐스트 도매인을 나누는 것
VLAN
- L2를 논리적으로 분리하는 기술
- L2안에서 다른 VLAN간 통신할 수 없음
- vlan별로 mac address를 분리
ARP(address resolution protocol)
- ip는 알지만 mac address를 모를 때 사용하는 프로토콜
- mac address를 알아야 packet을 완성할 수 있다(헤더를 완성할 수 있다)
- 브로드캐스트로 묻고(request) 유니캐스트로 답변(reply)
- targetIp
- 해당하는 서버 아니면 패킷 드랍
- reply 못 받으면 engress buffer에 저장
- 몇 초 기다리다 clear시킬 수 있음..(하드웨어 별 다름)
같은 네트워크? 앞에 3덩어리까지 같으면 같은 네트워크
ip가 왜 나왔을까? 맥이 고유값이면 ip가 필요없지 않나
ip는 2^32개 만큼 사용 가능
국가별 대역이 있음; ip routing하기 위해서; 빨리 처리하기 위해서
mac address는 고유하지 않다!
윈도우는 윈도우 전용(MS가 만든) 더 간편한 방법이 있음 하지만 표준은 아님
untag가 비효율적이라 도입한 방식이 tag
hypervisor switch는 태그 값
같은 대역은 맥으로 통신한다. 맥테이블은 L2; 같은 VLAN
라우팅 태이블을 보지 않아도 된다(게이트웨이까지 안가도 된다); 최단거리
대역이 다른면 게이트웨이로 보내고 해당 대역대의 스위치가 dst의 맥 정보 모르면 스위치가 ARP request 보내고 학습한 후 원래 패킷 보냄
다른 대역간은 라우터 통신
라우팅?
- 데이터를 출발지에서 목적지까지 가는 최적의 경로를 설정해주는 과정
- 정적 라우팅: 엔지니어가 수동으로 경로 지정
- 동적 라우팅: 라우터가 다른 라우터들과 경로를 주고 받아 best selection으로 자동으로 하게끔
- best selection에 해당하는 중간에 라우터가 죽으면
- 다른 경로로 감(hidden routing)
- next hop: 다음 가야할 지점
- 맥 어드래스는 one hop by hop으로 맥이 세팅됨(경유지의 맥이 박힘)
- 맥만 까지고 encap decap 반복 나머지는 그대로
- L2헤더를 깨서 버리고 다시 조립(맥 변경)
- L3헤더의 정보는 변하지 않는다(IP 불변)
NAT
세션
- TCP 연결되면 "세션이 맺어졌다"..
- handshaking 시도 시 1800초(30분) 동안 아무 소식이 없으면 "세션 끊어짐(flushed)"
- 브라우저 끌 때도 세션을 꺼야함! (4way hand shake) FIN은 호스트 a, b건 어디서든 가능
- 한 컴터에서 세션의 갯수는 정해져 있음
- 브라우저 여러개 띄우면 세션 테이블안에서 찾는 시간도 소요됨
- 통신 시 first packet은 반드시 syn 이어야 함; 아니면 드랍
- 라우터와 각 서버와의 타임아웃 값이 다르면 한쪽만 세션이 끊겨서 세션이 드랍될 수 있어서 맞추는게 중요
- tcp 세션은 기본적으로 30분(timeout)_ nhn cloud의 경우
- 세션을 늘리는 것에 방어적인 이유는 세션이 쌓여서 장애를 발생할 수 있음
세션 테이블
- 테이블에 매치되는 세션이 있는가
- 없으면 세션 만든다
NAT
- 인터넷 나갈 때 공인 ip로 바꿔줌
- 24bit/22bit단위로 대역별로 nat ip를 쪼개서 운영(맨 마지막 ip split 덩어리)
- 이런 세션이 65538개 생기면 하단의 소스를 인지할 수 있는 기준이 사라지게 됨
- 같은 L3에 묶인 여러 ip가 하나의 NAT ip로(공인) 변환되어 나가는데
- reply 받을 때 처음 받은 source port를 reuse하기 때문에 해당 값으로 각각이 누구로 부터온 응답(어떤 세션인지)인지 분류 가능
- 회사별로 소스포트 range가 정해져 있음(reserve)
Loop network
- ttl(time to live): max로 넘어갈 수 있는 hop의 카운트; 라우팅(L3)에만 해당됨
- 여기는 L2(스위치)라서 ttl 카운트와 상관없이 계속 살아 있고 loop이 발생
- L4(로드발랜싱)
이중화
모든 네트워크는 이중화
VRRP: 게이트웨이를 이중화