목록Computer Science/네트워크 (21)
가자미의 개발이야기
a. 링크 a-1. 링크 계층 소개 링크 계층(2계층) 프로토콜을 실행하는 장치를 노드라 함. 통신 경로상의 인접한 노드들을 연결하는 통신 채널은 링크 한 링크에서 전송 노드는 데이터그램을 링크 계층 프레임으로 캡슐화해서 링크로 전송한다. a-2. 링크 계층의 서비스 프레임화 : 네트워크 계층 데이터그램을 링크상으로 전송하기 전에 링크 계층 프래임에 캡슐화. header payload trailer 형식으로 캡슐화 링크 접속 : 매체 접속 제어(MAC) 프로토콜은 링크상으로 프레임을 전송하는 규칙에 대해서 명시함 신뢰적 전달(RDT) : 링크 계층의 신뢰적 전달 서비스도 확인 응답과 재전송 방식으로 가능 트랜스포트 계층이나 애플리케이션 계층과 달리 데이터를 재전송하는 방식과 달리 링크 계층 프로토콜은 오..
a. 인터넷 제어 메시지 프로토콜(ICMP) 호스트와 라웉터가 서로 간에 네트워크 계층 정보를 주고받기 위해 사용된다. 대표적으로 인터넷 문제 식별을 할 수 있다. ICMP는 구조적으로 IP 바로 위에 있고 IP 페이로드에 담겨 전송된다. TYPE과 CODE값으로 상태를 구분해 인식한다. a-1. ICMP 메시지 타입 b. 네트워크 관리와 SNMP 적절한 비용으로 요규사항을 만족시키기 위해, 네트워크와 구성요소 자원들을 감시, 테스트, 폴링, 설정, 분석, 평가, 제어하는 하드웨어, 소프트웨어, 인간요소 등을 배치하고 통합, 조정하는 것. 관리 서버는 네트워크 관리 활동이 일어나는 장소. 네트워크 관리 정보의 수집, 처리, 분석, 게시를 제어. 피관리 장치는 관리 대상 네트워크에 존재하는 네트워크 장치들..
a. SDN a-1. SDN 구조의 특징 플로우 기반 포워딩 : 스위치들에서 패킷 포워딩은 전송 계층, 네트워크 계층, 링크 계층 헤더의 어떤 값을 기반으로도 가능하다. IP 데이터그램의 포워딩이 온전히 목적지 주소만으로 이뤄지는 전통적 라우터 기반과는 매우 대조적. 데이터 평면과 제어 평면의 분리 : 데이터 평면은 네트워크 스위치로 구성. 이들은 자신의 플로우 테이블의 내용을 기반으로 비교와 실행을 수행. 제어 평면은 서버와 스위치의 플로우 테이블을 결정, 관리하는 소프트웨어로 이뤄진다. SDN의 제어 평면은 SDN 컨트롤러와 네트워크 제어 응용들의 집합으로 이뤄짐 데이터 평면 스위치, 컨트롤러, 네트워크 제어 응용들이 서로 다른 제조사나 기관에서 제공하는 분리된 개체이다. a-2. SDN 컨트롤러와 ..
a. OSPF a-1. 자율 시스템 (AS) 확장 문제 : 수억개의 라우터가 있는데, 각 라우터의 목적지 라우팅 정볼르 저장하려면 어마어마한 메모리가 필요하다 관리 자치 문제 : ISP는 자신의 네트워크를 원하는대로 운용하거나, 네트워크 내부 구성을 외부에 감추길 원한다. 이를 자율 시스템 (AS)로 해결한다. AS는 동일한 괄리 제어하에 있는 라우터의 그룹으로 구성된다. 이 AS들은 고유한 AS넘버로 구별된다.(ASN) 한 AS안에는 동일한 라우팅 알고리즘을 사용하게 되고, 이를 AS 내부 라우팅 프로토콜이라고 부른다. Intra-AS : AS 내부 프로토콜 Inter-AS : AS 외부 프로토콜 gateway router : 다른 AS와 연결되는 라우터 Inter-AS는 어떤 AS에 갔을 경우 도달할..
a. 라우팅 알고리즘 라우팅이 송신자부터 수신자까지 라우터의 네트워크를 통과하는 좋은 경로를 결정하는 것. 여기서 좋은 경로란 최소 비용 경로를 의미.(비용은 금전적, 시간적, 혼잡 등을 폭넓게 의미) a-1. 라우팅 알고리즘 그래프 라우팅을 표현하는 데 쓰이는 도식. 일반적으로 G=(N, E) 나타냄 N : 노드의 집합, E : 엣지의 집합. 노드는 패킷 포워딩 결정이 이뤄지는 지점인 라우터 엣지는 노드들을 연결하는 물리 링크 c(x, y) 는 노드 x, y간의 비용을 의미한다. 이 값이 무한대면 x와 y가 이웃하지 않는다는 것을 의미 에지 (x, y)가 E에 속하면 노드 y는 노드 x의 이웃 a-2. 중앙 집중형 라우팅 알고리즘(링크 상태 알고리즘) 네트워크 전체에 대한 완전한 정보를 가지고 경로의 ..
a. IPv4 데이터그램 헤더 버전 번호 : 4비트. 데이터그램의 ip 프로토콜 버전 명시. 헤더 길이 : ip 데이터그램에서 실제 페이로드가 시작되는 곳을 결정.(데체로 헤더는 20바이트) 서비스 타입 : IPv4의 서비스 타입을 구별(실시간 데이터그램인가 아닌가 등) 데이터그램 길이 : 헤더를 포함한 전체 데이터그램 길이 식별자 , 플래그, 단편화 오프셋 : 단편화에 사용됨. TTL : 라우터가 데이터그램을 처리할 때마다 감소. TTL 필드 값이 0이 되면 라우터가 데이터그램을 폐기 프로토콜 : 데이터 부분이 전달될 목적지의 전송 계층의 특정 프로토콜을 명시 헤더 체크섬 : 비트 오류를 탐지. 출발지와 목적지 IP 주소 옵션 데이터(페이로드) b. IPv4 데이터그램 단편화 MTU : 링크 계층 프레..
a. 라우터 라우터를 간단하게 도식화한 그림이다. 녹색, 청색, 적색 네모가 묶인 것을 네트워크 인터페이스라고 부른다. 들어오는 통로를 input ports, 나가는 통로를 output ports라고 부른다. 라우팅 프로세서에 의해 스위칭패브릭이 아웃풋 포트를 지정해 보낸다.(포워딩) b. input port fucntions line termination : 라우터의 물리 계층. 전자기 신호를 비트로 바꿔주는 역할 data link layer : 데이터들을 모아 한 프레임으로 만듬(프레이밍), 그 외에도 많은 역할.(이더넷도 여기에 포함) ip (빨간색 박스) : lookup, (포워딩 테이블을 보고 포워딩 해야할 곳을 찾는 행위), forwarding, queueing(보낼 정보들을 저장.) *이때 ..
a. 네트워크 계층의 목적. 세그먼트를 받아서 데이터그램으로 만들고, 각 라우터들이 헤더필드를 검사하여 알맞은 곳으로 데이터를 전달. forwarding : 라우터의 입력부터 출력까지 필요한 기능들 routing: 소스로부터 목적지까지의 경로를 결정(routing algorithms) b. Data Plane과 control plane data plane : 라우터가 자신이 가진 정보(routing table, forwarding table)를 활용해 경로 결정하는 기능(routing, forwarding) control plane : 소스-목적지에서 어떤 라우터를 만나게 할 것인가를 결정.(traditional routing algorithms과 software defined networking(sdn..
a. 혼잡 혼잡의 원인 : 라우터에 들어오는 양이 처리량보다 더 커서. 딜레이가 길어지고, 패켓을 잃을 수 있음. 라우터의 버퍼가 무제한이라고 가정하면. 데이터 전송이 계속 커질 수록, 데이터 전송 능력(throughput)능력은 같이 오르다가 한계 이후는 정체된다. 하지만 현실엔 다름(라우터 버퍼가 유한함) 실제로 유효하게 받은 데이터 처리량을 goodput이라고 한다. 혼잡이 발생하면 라우터에서 로스가 발생-수신자가 재전송-이럴 경우 재전송 데이터는 goodput에는 포함되지 않음. 즉 혼잡이 발생하면 goodput과 throughput이 차이가 나게 된다! 여러 센더가 라우터들을 공유하면서 정보를 전송할 때 g호스트 D가 B를 향해 데이터를 주고, A가 C를 향해 데이터를 전송한다고 가정. 이때 R..
a. TCP의 rdt(신뢰성 있는 데이터 전송) TCP는 ip의 위에서 rdt 서비스를 제공한다.(ip는 신뢰성 없음) -pipelined 방식 사용(gbn selective 선택 사용) -cumulative ack(누적 ack 방식 사용) -보냈는데 ack를 받지 못한 패캣에 해당하는 타이머 하나를 운용 b. TCP sender 초기에 NextSeqNum과 SendBase를 초기화. 상위 계층이 데이터 전송을 요구할 때, nextseqnum에 해당 되는 데이터를 세그먼트 생성하고, nextseqnum을 생성된 데이터 만큼 뒤로 보내고 타이머 실행. 타이머가 다 되면, 보냈는데 ack를 못받은 데이터 중 시퀀스 넘버가 가장 작은 놈을 다시 보내고 타이머 재시작. ack를 받으면 sendbase를 ack까..