웹 서버와 클라이언트간에 프로토콜을 통한 데이터 송신
인터넷에 익스플로러에서 자료를 요청한다. 이것은 새로운 웹 페이지를 여는 경우 등이 이에 해당된다. 이곳에서는 HTTP 헤더를 삽입하게 된다.
TCP 계층에서는 포트 번호를 삽입하게 된다. 목적지 포트 번호는 웹 서비스의 경우 80이므로 이 값을 삽입하게 되고 소스 포트 번호는 클라이언트의 운영 체제에서 임의로 설정한 값을 헤더의 적당한 항목에 넣게 된다.
IP계층에서는 TCP계층에서 내려온 세그먼트에 IP헤더를 추가한다. IP 헤더의 목적지 주소인 웹 서버 주소를 삽입하게 되고 소스 주소에는 자신의 주소를 삽입하게 된다. 또한, 헤더의 protocol은 상위 전송 계층이 TCP라는 것을 구별하기 위하여 6이라는 값을 저장하게 된다.
링크 계층에서는 자신의 디폴트 라우터 주소의 물리적 주소를 포함하고 자신의 물리적 주소를 이더넷 헤더의 주소 항목에 삽입하게 된다. 또한 자신의 상위 계층의 프로토콜이 IP라는 것을 알리기 위하여 frame type 항목에 0x0800이라는 값을 삽입하게 된다.
이렇게 생성된 패킷은 라우터로 전송되게 된다.
라우터는 패킷의 IP
헤더를 보고 자신의 라우팅 테이블 정보를 참조하여 패킷의 경로를 설정한다. 이 기능이 바로 라우터의 가장 큰 역할이다. 즉, 패킷의 목적지를 결정하여 패킷을 전송하게 된닫.
패킷이 웹서버에 도착하게 되면 먼저 이더넷 주소를 보고 자신에 해당하는 패킷인지를 먼저 판단하게 된다. 즉, 패킷의 이더넷 헤더의 목적지 주소가 자신의 해당하는지를 검사한다. 그리고 헤더의 frame type의 값을 확인하여 이 패킷이 IP 계층으로 전송되어야 하는지를 검사하게 된다. 이후 자신의 이더넷 헤더를 제거한 후 IP 데이터 그램을 IP 계층에 전송하게 된다.
패킷이 IP에 도착하게 되면 먼저 자료를 요청한 클라이언트의 주소를 읽은 후 그 값을 저장하게 된다. 또한, 헤더의 protocol항목의 값을 확인하여 이 값이 6임을 확인하고 IP 헤더를 제거한 TCP 세그먼트를 TCP계층에 전송하게 된다.
TCP계층에 도착한 세그먼트는 포트 번호를 확인하게 된다. 상대방 포트 번호가 40000이는 것을 확인한 뒤 목적지 포트 번호가 80이므로 웹 서비스라는 것을 알고 해당 프로세스에게 자료를 요청한다,
해당 프로세스는 요청된 자료를 확인하게 되고 데이터를 전송할 준비를 하게 된다.
ARP
네트워크 내에서는 네트워크 어댑터의 일련번호인 물리적 주소를 사용하고 근거리 통신망과 같은 작은 네트워크 내에서만 사용된다. 근거리 통신망 범위 밖의 물리적 주소는 알 수 없다. 물리적인 주소를 사용하는 것은 각각의 인터페이스를 구별하는 것은 가능하게 만들지만 외부망으로 패킷을 나가게 하는 라우팅을 비롯하여 효율적인 망 관리를 하기에는 어려움이 있다. 그래서 물리적인 네트워크 주소와 일치하는 개념으로 또 다른 주소 방식인 논리적인 주소를 사용하게 되는데 그것이 바로 32비트의 IP 주소이다.
IP주소는 단지 논리적 주소일 뿐 실제적으로 전달되는 것은 네트워크 어댑터의 물리적 주소를 통해서 전달된다. 논리적 주소와 물리적 주소간의 대응관계를 성립하는 역할을 ARP가 한다.
스레드
하나의 프로세스 내에서도 하나의 실행 포인터를 통해 프로세스가 동작한다. 이런 실행 포인터는 시작, 실행 , 그리고 종료의 흐름의 제어 단위로 이루어져 있는데 이런 제어 흐름 단위를 스레드하고 한다.
여러 개의 프로세스가 자원을 공유하여 동기적으로 수행하는 것보다 데이터 공유나 코드의 공유와 같은 프로그램 실행에 있어서의 문맥 전환에 대한 오버헤드를 줄일 수 있다.
브리지
근거리 통신망(LAN)으로 구성된 둘 이상의 소규모 네트워크를 데이터 링크 상에서 동작하여 연결하는 네트워크 장비이다. 브리지의 일반적인 기능은 물리적 주소를 통해 연결된 호스트가 어떤 네트워크에 속해 잇는지를 스스로 습득하고 그를 이용하여 데이터를 포워딩하는 것이다.
브리지는 개별적인 호스트들이 어느 세그먼트에 속해 있는지 알아내어 호스트의 위치정보를 통해 그 해당 세그먼트로 포워딩하면 된다.
브리지는 들어오는 데이터 패킷을 분석하여 브리지가 주어진 패킷을 다른 세그먼트의 네트워크로 전송할 수 있는지를 결정할 수 있다.
포워딩 – 들어온 데이터의 헤더 정보를 이용하여 최종 목적지 네트워크를 향해 패킷을 내보내 주는 일련의 단계
라우터
서로 다른 네트워크를 중계해주는 장치. 보내지는 송신정보에서 수신처 주소를 읽어 가장 적절한 통신통로를 지정하고, 다른 통신망으로 전송하는 장치를 말한다.
만약 수신된 패킷의 목적지가 라우터에 바로 연결된 네트워크 상의 단말 호스트가 아니라면, 라우터는 이 패킷에 대하여 가장 적당한 경로를 결정하고 그 경로 상에 있는 라우터들을 거쳐 목적지로 가게 된다. 최적 경로에 있는 라우터들은 계소적으로 패킷을 포워딩하여 목적지 단말 호스트가 연결된 라우터에 보내어지고 그 라우터의 포워딩에 의해 목적지 호스트가 패킷을 수신하게 된다.
공용ip
단어 그대로, 공인기관에서 인증한 공개형(public) IP 주소다. 인터넷 유무선 공유기를 사용하지 않는 한 컴퓨터 등에서 사용하는 대부분의 IP 주소는 공인 IP 주소다.
사설ip
공인 IP 주소가 공개형이라면 사설(private) IP 주소는 폐쇄형이다. 공인되지 않은 IP 주소라는 의미 때문이다. 즉, 이 사설 IP 주소는 외부에 공개되지 않아 외부에서 검색, 접근이 근본적으로 불가능하다.
사설 IP 주소를 사용하는 이유는 두 가지다. 하나는 위에서 언급한 대로 IP 주소를 공유하기 위함이다. 이는 IPv4 체계의 IP 주소 부족 문제를 해결할 수 있는 방안이기도 하다
Proxy ARP
자신의 호스트에 대한 이더넷과 IP주소 정보를 알고 있을 경우 자신의 이더넷 주소로 ARP 응답 메시지를 대신해주는 것을 의미한다. 대신 라우터의 연결된 인터페이스 네트워크 이더넷 주소로 ARP 요청 메시지에 대한 응답을 해주면, 호스트는 목적지 호스트에게 전달할 데이터를 라우터에게 우선 전달하게 되고, 라우터는 그 데이터들을 해당 네트워크 인터페이스로 포워딩을 통해 전달해주게 된다.
NAT
사설망과 공용망의 중간에서 네트워크 주소를 변환하여 상호간의 데이터를 포워딩 해주는 네트워크 연결 시스템
IP주소의 효율적ㅇ인 활용 이외에 외부망으로부터의 해킹과 같은 공격에 대하 안전하다.
사설 ip를 공용 ip로 변환해주어 인터넷을 할 수 있다.