본문 바로가기

네트워크19

네트워크 14강 - Inside Router, IP 라우터는 네트워크 코어를 구성한다. 라우터에 대해 자세히 알아보고 네트워크 계층 프로토콜인 IP에 대해서도 알아보자. 라우터 아키텍처 라우터는 Control Plane과 Data Plane으로 구성된다. Control Plane 라우터의 두뇌 부분에 해당한다. Control Plane의 프로세서가 라우팅 알고리즘을 실행하고 포워딩 테이블을 업데이트한다. 포워딩 테이블 : Input으로 들어온 패킷을 어떤 Output Port로 보낼지 적혀있는 테이블이다. 소프트웨어적이다. Data Plane 빠른 속도를 위해 하드웨어적으로 구현되어 있다. 데이터 전송을 담당한다. Input Port, Switching Fabric, Output Port로 구성되어 있다. Input Port 하위계층 레이어인 Physic.. 2020. 8. 11.
네트워크 13강 - Network Layer의 소개 지금까지 세 포스팅에 걸쳐서 Transport Layer에 대해서 알아봤다. Transport Layer는 프로세스 - 프로세스 간 Logical Communication을 하는데 집중했다면 네트워크 계층에서는 Host - Host 간의 통신을 담당한다. Host - Host 간의 통신이 무엇인지 지금부터 알아보자. 네트워크 계층의 소개 네트워크 계층의 목적 Host to Host 간의 통신을 담당한다. Transport 계층에서 담당했던 Process to Process가 두 소프트웨어 사이의 통신이라면 Host to Host 통신은 물리적인 실체인 Host (PC나 라우터 등) 간의 통신이다. Transport 계층과의 차이 Host 간 전송 Application에게 선택권한 없음 코어에서 구현된다... 2020. 8. 10.
네트워크 12강 - TCP part.3 TCP를 소개하는 마지막 글이다. TCP가 커넥션을 맺는 방법과 Congestion Control을 자세히 알아보자. TCP는 신뢰성 있는 전송을 제공하는 것이 기본적인 목적인 만큼 Control에 관해선 할 말이 많다. TCP 연결 관리 TCP은 Connection Oriented Protocol이다. 데이터 전송을 보장하는 파라미터들을 각자 설정하기 위해 연결을 맺는다. 2 Way Handshaking의 문제점 클라이언트는 서버가 alive 상태인 것을 확인할 수 있다. 하지만 서버는 클라이언트의 SYN 메세지가 언제 전송된 것인지, 혹은 이미 종료된 연결의 SYN 메시지인 지 알 수 없다. 서버 측도 클라이언트가 alive 상태인 것을 확인하기 위해 3 way Handshaking을 한다. 3 Wa.. 2020. 8. 10.
네트워크 11강 - TCP part.2 TCP에 대해 이어서 알아보자. TCP Sender Events TCP 세그먼트를 보내는 측에선 무슨 일을 하는지 알아보자. 애플리케이션 계층에서 데이터가 도착했다. 시퀀스 넘버와 체크섬을 달아서 세그먼트를 만든다. 타이머가 동작중이라면? 타이머는 가장 오래된 전송 중인(In-Flight) 세그먼트(가장 낮은 시퀀스 번호)에 맞춰져 있다. 세그먼트를 보낸지 너무 오래됐으면 도중에 유실된 것으로 판단한다. 이 때 사용하는 시계가 타이머이다. 타이머가 동작중이지 않다면? 타이머를 켜고 해당 세그먼트에 맞춘다. Time Out 발생! Time Out된 세그먼트를 다시 전송한다. Ack를 받지 못한 가장 작은 시퀀스의 세그먼트에 타이머를 맞춘다. Ack를 받았다. 받은 Ack에 해당하는 세그먼트를 In-Flig.. 2020. 8. 10.
네트워크 10강 - TCP part.1 앞으로 세 강에 걸쳐서 TCP에 대해 알아보자. 강의 시간은 총 3 시간 남짓이지만 이 포스팅은 중요 내용을 기억하기 위한 이정표를 제공하기 위한 글이므로 짧게 요약해서 쓰겠다. 하루 중 시간을 조금씩만 투자하면 금방 완강하니 자투리 시간을 내서 꾸준히 들어보기를 권한다. TCP는 Byte Stream TCP는 메세지를 임시 저장소인 버퍼에 담아서 Flow Control, Congestion Control에 의해 제어되는 속도로 버퍼에 있는 메세지를 전송한다. 버퍼 담는다는 것에 주목해보자. TCP는 잠시 버퍼에 담았다가 전송한다. 버퍼로 인해 메모리에 부담이 커질 수 있다. 잠시 담았다가 전송하므로 Throughput 성능이 떨어진다. Flow Control이란? 수신측에도 TCP 버퍼가 있다. 수신 .. 2020. 8. 10.
네트워크 9강 - Transport Layer 개론 지금까지 Application Layer에 대해 알아봤다. http와 rest api의 심화 내용은 다른 과목에서 더 깊게 공부하기로 하자. 이번 강의의 목적은 네트워크 전반의 이해를 통해 웹 응용 기술들을 시스템적 관점에서 바라볼 수 있게함에 있다. Transport Layer, 전송계층 지금까지 공부했던 Application Layer는 전송을 담당하는 계층이 아니다. Http는 사용자가 만들어낸 데이터를 메세지로 만드는 '규칙'이었고 DNS는 도메인-IP간 매핑을 해주는 '서비스'였다. 애플리케이션 계층의 웹브라우저든 이메일 클라이언트든 모두 "프로세스"이다. TCP는 프로세스 간 "Logical Communication"을 담당한다. Logical Communication, 논리적 통신이란 실제 .. 2020. 8. 10.
네트워크 7강, 8강 - Electronic Mail과 DNS, P2P 아키텍쳐 인터넷 상에서 URL로 연결된 웹문서로 정보를 교류하는 서비스가 웹이었고, 웹을 위한 프로토콜이 http였다. 이번에는 이메일 서비스와 이를 위한 프로토콜인 SMTP, POP, IMAP을 알아보자. 또 IP와 도메인 이름을 연결시켜주는 서비스인 DNS에 대해서도 알아보자. 그리고 8강 내용 P2P 아키텍쳐 내용까지 간단히 알아보자. Electronic Mail 먼저 Non-Electronic Mail을 생각해보자. 집의 우편함과 우체국을 생각해보자. 각 집마다 편지를 받는 공간인 우편함이 있다. 발송될 편지는 우체국에 모아놨다가 한꺼번에 차에 실어 보낸다. Electronim Mail도 이와 비슷하지 않을까? 메일 서버의 구조 Mail box : 사용자마다 따로 가지고 있는 수신메일을 담는 자료구조다. .. 2020. 8. 7.