보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
NAT란? Network Address Translation 의 약자로 우리말로 표현하면 주소변환으로 표현할 수 있다. 내부망에서 사설IP(Private Address)를 사용하다가 외부망으로 나갈 때 공인IP(Public Address)로 IP와 Port를 변환해주는 기능을 말한다. 사용하는 이유는 공인IP의 부족과 보안상의 이유가 있다. IP 주소는 주소변환장치(여기서는 Router)에 할당된 주소로 변경하고, Port 번호는 임의의 Port를 할당한다. 그리고 이 두개를 묶어 송신지/수신지가 대응되는 NAT Table에 기록한다. 기록하는 이유는 수신지로부터 회신이 왔을 때, 목적지가 공인IP(Router)로 올텐데 이 때 어느 Node에게 온 패킷인지 구분하기 위함이다. 위에를 이해했다면 알겠지만..
Step 1. Application에서 Socket Library의 socket함수 호출. (소켓 정보가 저장될 메모리공간을 확보한다.) 확보한 메모리에 해당 소켓이 초기상태이라는 것을 기록하고 파일 디스크럽터를 Application에 반환한다. Step 2. Application에서 connect함수 호출. → 서버측 socket에 접속한다. 이 과정에서 TCP Header을 통해 제어정보를 교환해 소켓에 필요한 정보를 기록하고 송/수신이 가능한 상태로 만들게 된다. 송/수신이 가능한 상태라는 것은 버퍼메모리를 확보하는 것 까지를 말한다. 여기서 Socket Library는 URL을 참고해 서버의 IP/Port 등의 정보를 Protocol Stack에게 넘겨주게 된다. (서버측은 Handshake를 통..
Fragments ? IP 프로토콜은 IP 패킷을 몇 개의 작은 패킷으로 나누어 전송한 후, 목적지에서 재조립 할 수 있다. 라우터가 판단해서 보내려는 패킷의 크기가 출력측 LAN, 통신회선이 처리할 수 있는 크기보다 크다면 IP 패킷을 나누어서 전송하게 된다. MTU ? IP 패킷이 네트워크를 통해 전송될 때 전송될 수 있는 IP 패킷의 최대 크기. (기본적으로 1500Byte - Header포함) IP 패킷의 크기가 MTU보다 클 때 IP Fragments가 발생하게 된다. (대신 애플리케이션 등이 패킷을 분할 불가로 저장한 경우 또는 이미 분할된 경우에는 분할할 수 없다.) 위 사진과 같이 라우터 통과시 분할되어 전송된다. 그리고 목적지에 도착해서 분할되어 전송됬던 패킷이 재조립과정을 거치게 되는데..