TCP/IP 4 계층

Network 2013. 12. 26. 15:50 Posted by gaeddong2

인터넷은 TCP/IP 통신 프로토콜을 사용한다.

TCP/IP는 OSI 7 게층 Layer를 기반으로 하지만 단순화 시켜서 4단계로 나눈다.

 

 

Newwork Access Layer

통신장치를 식별할 수 있는 물리적 주소인 Mac address를 사용한다.

인접한 통신 객체들 간에 송수신시 사용하는 프로토콜

 

 

Internet Layer

상위 계층에서 보낸 데이터를 논리적인 통신장치까지 전송하는 역할을 수행한다.

 

 

Transport Layer

두 통신 지점사이에 오류가 없는 데이터 송수신을 수행한다.

물리적인 두 통신 지점은 IP주소에 의해 지정되며 트랜스포트 계층의 두 통신 지점은 IP 주소를 기반으로 포트번호로 식별하는 하드웨어 내의 논리적 지점이다.

데이터의 분할 및 재전송을 담당한다.

 

 

Application Layer

다양한 네트워크 서비스와 어플리케이션 자체를 의미한다.

개발자가 실제 개발해야 할 몫이다.

 

 

<계층별 헤더>

 

TCP/IP의 각 계층은 헤더를 붙여 전송하고상대 컴퓨터의 해당 계층은 헤더 정보를 이용해 자신의 계층에서 수신한 데이터를 처리한다.

Application Layer에서 전송한 데이터는 여러 데이터로 분할해서 보내고 이 분할된 데이터를 세그먼트라 한다.

트랜스포트 계층과 인터넷 계층 사이에서 헤더 정보를 포함한 데이터를 패킷이라고 한다.

 

(상위 분할된 세그먼트에 헤더 포함)

프레임이란 헤더 패킷 트레일러를 의미

사용자가 데이터를 전송할 때 각 계층이 지날 때마다 헤더라는 작은 크기의 프레임을 달게 된다마지막 계층까지 헤더프레임을 붙인 후 목적지 컴퓨터에 전송하면 목적지 컴퓨터는 각 계층별로 헤더프레임을 파악하여 자신의 것이 맞는지전송도충에 오류는 없었는지 등의 검사를 거친 후 이상이 없을 때 사용자에게 보여준다.

'Network' 카테고리의 다른 글

패킷에서 데이터 부분 캡쳐하기  (0) 2013.12.26
OSI 7 계층  (0) 2013.12.26
네트워크 개념  (0) 2013.12.26
Proxy  (0) 2013.12.26
노트북, 데스크탑 인터넷 공유하기  (0) 2013.12.26

네트워크 개념

Network 2013. 12. 26. 15:50 Posted by gaeddong2

웹 서버와 클라이언트간에 프로토콜을 통한 데이터 송신

 

인터넷에 익스플로러에서 자료를 요청한다이것은 새로운 웹 페이지를 여는 경우 등이 이에 해당된다이곳에서는 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로 변환해주어 인터넷을 할 수 있다.

'Network' 카테고리의 다른 글

패킷에서 데이터 부분 캡쳐하기  (0) 2013.12.26
OSI 7 계층  (0) 2013.12.26
TCP/IP 4 계층  (0) 2013.12.26
Proxy  (0) 2013.12.26
노트북, 데스크탑 인터넷 공유하기  (0) 2013.12.26

Proxy

Network 2013. 12. 26. 15:49 Posted by gaeddong2

proxy는 결국은 뭔가 대신해서 트래픽을 처리하기 위한 것.

 

 

웹 사이트 서비스를 하는 서버들 앞에 두면 웹페이지 요청을 프록시 서버가 받고 그것을 웹서버에 전달해서 나오는 결과를 다시 사용자에게 넘겨준다. 이때. 동일한 요청이 다시 오면 좀전에 보내준 내용을 웹서버 작동 없이 바로 프록시 서버가 사용자 브라우저에게 보내준다.

 

 

사용자들 pc들 앞에 두면 사용자들이 브라우저로 웹사이트 URL을 입력하고 엔터치면 프록시 서버에 전달되고 해당 프록시 서버가 웹 사이트에 요청해서 웹페이지를 사용자에게 전달하게 된다.

 

'Network' 카테고리의 다른 글

패킷에서 데이터 부분 캡쳐하기  (0) 2013.12.26
OSI 7 계층  (0) 2013.12.26
TCP/IP 4 계층  (0) 2013.12.26
네트워크 개념  (0) 2013.12.26
노트북, 데스크탑 인터넷 공유하기  (0) 2013.12.26