본문 바로가기

네트워크4

네트워크 NAT란? NAT란? - 하나의 IP주소로 여러개의 Device가 인터넷을 사용가능하게 하는 것 예를들면 우리는 공유기하나로 노트북, 핸드폰 등을 사용한다. 어떻게 가능할까? 위 그림처럼 공유기가 각각의 장치들에게 private IP를 할당하고 인터넷으로부터 public IP로 뭔가가 들어오면 private IP로 전환해서 주기 때문에 하나의 IP address로 여러개의 장치 사용이 가능하게 된다. (각각의 장치들로부터 인터넷으로 보낼 때는 private IP를 public IP로 전환해준다.) 변환과정에 대해 조금 더 구체적으로 가면 NAT Translation Table에 각 Device들의 private IP와 port number를 기억해두고 웹서버로부터 응답이오면 Translation Table을 보고 .. 2020. 12. 7.
네트워크 라우팅 라우팅이란 들어온 패킷을 어느 출력 경로를 통해 다음 호스트로 전달해야 가장 효율적인지를 결정하는 것이다. 내 컴퓨터에서 naver를 접근할 때 수많은 라우터(그림에서 주황색 동그라미)들이 있을 것이고 각 라우터는 여러가지 정보를 가지고 있다. (자신과 연결되어있는 라우터가 무엇인지, 거리가 얼마나 되는지 등) 이런 상황에서 라우터는 데이터를 가장 효과적으로 전달하고 혼잡상태를 피하기위한 라우팅을 한다. 네트워크 계층에서는 크게 두 역할이 있다. Data plane과 Control plane이다. Control plane은 데이터가 어느 라우터에서 어디 라우터로 가야하는지 등의 과정을 결정한다. Data plane은 forwarding plane으로도 불리는데 데이터가 어떻게 앞으로 가야하는지만을 결정한.. 2020. 11. 28.
Transport Layer#3 Go-Back-N Go-Back-N이란 TCP에서 채택한 패킷 전송 방법이다. (밑에서부터는 편의상 GBN으로 부르겠다.) 사실 네트워크 책에서는 GBN을 소개하기전에 rdt에 관해 소개를 해주면서 천천히 확장하는 방식이지만 여기서는 생략하도록 하겠다. (궁금한 사람은 rdt1.0부터 검색해서 쭉 읽어보시길) 자 이제 본격적으로 GBN에 대해 알아보자. 서로 다른 호스트가 TCP를 통해 데이터를 주고 받는데 패킷을 하나씩 주고 받는다고 가정하자. 생각만해도 너무너무 느릴 것이다. 그래서 패킷을 한번에 여러개를 보내는 방법으로 GBN이 나온 것이다. 그런데 TCP는 패킷전송에 있어서 reliable하고 in-order delivery를 제공한다. 패킷을 하나씩 보내면 하나 보내고 제대로 갔나 확인하고 제대로 안갔으면 다시보.. 2020. 11. 9.
Transport Layer#1 Multiplexing & Demultiplexing Transport layer는 서로 다른 호스트에 있는 application processes들 간의 논리적 커뮤니케이션을 제공하는 layer이다. 물리적 기계간의 연결은 다른 layer들에게 맡기며 delay와 bandwidth을 보장하지 않는데 몇초후에 도착할지 또는 얼만큼의 대역폭을 잡을지는 Transport layer가 하는일이 아니라는 뜻이다. Multiplexing과 Demultiplexing을 알아보기 위해 아래 그림을 보자. p는 application layer들 위에서 동작하는 process들을 뜻한다. (그림에 있는 4개의 p들은 모두 각각 다른 process라고 보면 된다.) 자 이제 가운데 네모가 왼쪽과 오른쪽 네모에게 데이터를 전송한다고 가정해보자. Multiplexing이란 가운.. 2020. 11. 9.