Ping Ping 이란 모든 Window OS 에 내장되어있는 목적지 Host 에 ICMP Echo Request 를 보낼 수 있는 도구이다. 여기서 Ping 은 대상 Host 에 ICMP Echo Request 메시지를 보내는 것을 의미하며 ICMP Echo Request 패킷이 올바르게 Routing 되었고 목적지 Host 에 방화벽과 같은 특별한 제한사항이 없으면 목적지 Host 는 Ping 을 보낸 Host 에게 Request에 대한 응답인 ICMP Echo Reply 를 보내주어야 한다. 이를 통해 자신의 Local 네트워크가 살아있는지 확인할 수 있다. 이 때 Ping 을 보내는 Host 와 Ping 을 받는 Host 끼리의 통신시간을 밀리세컨(ms) 단위로 알 수 있으며 Host 에서 Ser..
Network
HTTP Hyper Text Transfer Protocol 의 약자이며 TCP기반 웹문서를 전송하는 프로토콜임. TCP 포트 80번을 이용해서 서버와 클라이언트가 통신함 HTTP의 요청과 응답 1. RFC 2616으로 발표된 HTTP1.1 버전 - 클라이언트의 요청가 서버의 응답에 의해 동작하는 간단한 프로토콜 2. 동작원리 - HTTP 클라이언트가 서버에 요청을 전송, 요청 메서드(GET, POST 등), URL, HTTP 버전과 기타 부가 정보를 포함 - HTTP 서버가 요청의 결과인 응답코드가 포함된 정보를 회신 3. 비상태 연결 - TCP연결 설정이 되면서, 요청과 응답 이후 바로 TCP 연결이 해제되기 때문에 Client와 Server 사이에는 연결 존재에 따 른 상태 정보가 존재하지 않음. ..
WWW 전 세계적으로 웹 : www는 서버의 TCP 80 번으로 포트번호가 지정되어있음. 클라이언트에 해당하는 웹 브라우저 (Web Browser)는 이 포트 번호를 이용해 서버와 연결을 시도함. 웹 서버와 연결이 설정되면, 클라이언트의 정보 요구에 대해 서버가 웹 문서를 회선하는 방식으로 응답함. 서버가 전송한 문서 내용은 클라이언트의 웹 브라우저를 통해 사용자 화면에 표시됨. 클라이언트와 서버 사이의 연결은 사용자의 정보 요구가 발생할 때마다 새로운 연결을 성정하고 해제하는 과정을 반복함. 즉, 서버가 제공하는 정보의 전송은 TCP 연결에 의해 이루어지지만, 웹 문서의 전송이 완료되어 사용자가 웹 브라우저로 보는 시점에는 TCP연결이 이미 해제된 상태임. 클라이언트 - 서버 모델 클라이언트와 서버의 ..
응용 계층 응용계층 하부에 있는 계층들이 신뢰성 있는 데이터 전송을 보장하는 역할을 한다면, 응용계층은 하부계층들을 이용해 사용자에게 편리한 환경을 제공하는 역할을 함. 따라서 응용 계층의 구현은 사용자 프로그램 환경에서 이루어지며, 일반적으로 OS에서 제공하는 전송계층의 인터페이스를 사용해 통신 기능을 구현함. (Optional로 세션계층이나 표현계층도 포함) 클라이언트 - 서버 모델 - 일반적인 모델로서 서버가 머저 통신대기(LISTENING) 상태, 비대칭 구조는 클라이언트와 서버의 연동을 단순화시키는 장점이 있음 연결형, 비연결형 서비스 - UDP : 속도는 빠르지만, 신뢰성에 문제가 있음. 비연결형(Connection-Less). 데이터 전송전 연결설정과정 X - TCP : 신뢰성이 높지만, 상..
표현 계층 OSI 7중 6계층에 해당하며 응용 프로세스 사이에 전송되는 메시지의 표현방법을 다루는 계층. 표현 계층 프로토콜의 전송 메시지에 표현된 문법(Syntax) 내용을 통신 양단의 프로세스가 해석하는 기능을 제공함으로써, 송신 프로세스가 전달하는 의미(Semantic)을 수신 프로세스에서 정확히 이해할 수 있게 함 데이터 표현 응용환경에서 데이터를 표현하는 방법은 컴퓨터마다(ASCII 코드 혹은 EBCDIC 코드) 다름. 때문에 서로 다른 코드를 사용하는 컴퓨터끼리 통신하려면 문자코드를 변환하는 과정이 필요함. 1. 추상 문법 추상 문법(Abstract Syntax) : 컴퓨터에서 사용하는 데이터 표현 규칙 전송 문법(Transfer Syntax) : 네트워크 전체에서 일관성을 지니는 표현 규칙 ..
세션 계층 응용 환경에서 전송 계층이 제공하는 서비스를 손쉽게 이용하게 하려면 사용자의 논리적 관점을 고려하여 단순한 사용자 인터페이스를 제공해야 하기 때문에 세션 계층이 도입되었으나, 기능이 제한적이라 다른 계층보다 상대적으로 간단한 계층에 속함 세션 계층의 기능 1. 세션 연결의 설정과 해제, 세션 메시지 전송 등이 있음 2. 동기(Synchronization) 문제를 처리 - 통신 양단에서 서로 동의하는 논리적인 동기점을 지정하기 위해 사용 - 동기점을 설정하는 이유는 메시지 전송 과정에서 발생하는 오류를 복구하기 위해서 이며, 필수적으로 요구됨 - 동기점 설정 이전까지는 서로 처리가 완료되었음을 합의했다는 의미로 사용 3. 대화(Dialogue) 단계 - 대화(Dialogue)는 메시지 전송 과정..
RTP 프로토콜 - RTP (Real Time Protocol) - 이름에 맞게 실시간 멀티미디어 데이터 전송을 지원함 - 유니캐스팅뿐 아니라 멀티캐스팅도 지원함 특징 - 불규칙한 데이터의 순서를 정렬하기 위해 Timestamp 방식을 사용하여 데이터를 정렬함 - ALF (Application Level Framing) 방식으로 응용 환경이 요구하는 알고리즘에 따라 버퍼 크기를 개별적으로 조절 가능 (프로토콜 내부에 위치하는 버퍼를 각 응용 프로그램마다 개별적으로 조절 가능 ) RTP 실시간 요구 사항 - 데이터 변형 / 분실 오류를 복구하는 기능이 상대적으로 덜 중요함 막말로 화상통화를 하다가 끊겨도 끊긴 지점에 돌아가지 않음. - 도착 순서, 패킷의 지연 간격, 데이터 압축 등이 필요함 실시간 서비스..
UDP 프로토콜 - 전송계층 프로토콜이며, 비연결형(Connection-Less) 서비스이며 신뢰성이 없음 - 헤더와 전송 데이터에 대한 체크섬 기능을 제공 - 프로토콜 중 구조가 가장 간단. 가장 간단하니 당연히 기능이 적고, 신뢰성이 없음 - 신뢰성이 떨어지지만 프로토콜을 처리하는 기능이 작아 TCP보다 데이터 처리가 빠르므로 데이터 전송 시간에 민감한 응용 환경에서는 UDP를 사용하는 것이 유리함 UDP 헤더 구조 - UDP 프로토콜 크기가 작기 때문에 오버헤드가 작은 편 - UDP 헤더는 8 Byte로 구성. TCP는 통상적으로 20 Byte임 Source Port / Destination Port (송신포트 / 수신 포트) - 송수신 프로세스에 할당된 네트워크 포트 번호를 의미 Length (길..
TCP 프로토콜을 이용한 데이터 전송 TCP 프로토콜 : 전이중 방식의 양방향 통신을 지원 - 전송 데이터와 응답 데이터를 함께 전송하는 피기배킹 기능을 사용 - 데이터 전송시 연결 설정, 데이터 전송, 연결 해제라는 3단계를 순차적으로 진행 TCP 연결 설정 연결 설정 (3 -Way Handshake) - A 프로세스가 전송할 데이터가 없을 떄 처리하는방식 1. SYN (연결 요청). Seq 번호는 A에서 임의로 정해준 순서번호. 2. SYN + ACK (연결 요청 + 긍정응답) - Seq=50 은 B에서 보내준 임의의 순서번호, - Ack=11은 A의 순서번호+1해서 11. 또한, Ack번호는 다음에 수신받길 희망하는 번호를 의미 3. ACK (긍정응답) - SYN+ACK에서 11을 수신하길 희망하기..
TCP 프로토콜 TCP 프로토콜은 IP 프로토콜 위에서 연결형 서비스를 지원하는 전송 계층 프로토콜이며, 인터넷 환경에서 기본으로 사용 - 연결형 서비스를 제공 - 전이중(Full Duplex) 방식의 양방향 가상 회선을 제공 - 신뢰성 있는 데이터 전송을 보장 - 응용계층에서는 서비스에 종류에 따라 FTP, SMTP, DNS, NFS 등을 제공. (응용계층의 서비스가 어떤 유형이느냐에 따라 연결형TCP 혹은 비연결UDP가 결정됨) - 전송 계층에서는 연결형 TCP, 비연결형 UDP를 지원 - 네트워크 계층에서는 IP와, ICMP 사용 - 네트워크 접속 계층에서는 Ethernet, x.25 등 프로토콜을사용. TCP 헤더 구조 - TCP는 데이터를 세그먼트(Segment)라는 블록 단위로 분할해 전송 -..