본문 바로가기

OSI Model

(30)
20. ASCII (아스키 코드) (Presentation Layer 표현 계층) (Presentation Layer 표현 계층) ASCII(American Standard Code for Information Interchage) ASCII 코드(아스키 코드) ASCII(American Standard Code for Information Interchage) 코드 표는 1960년대에 문자를 숫자로 표현하기 위하여 정한 표이다. 십진수 0 ~ 127에 대응하는 각각의 문자를 정의하여 컴퓨터, 통신장비 등에 이용되었다. ASCII 코드는 128개의 문자를 표현하기 위하여 7bit가 필요하며(2^7 = 128), 33개의 제어문자(space 포함)와 95개의 인쇄가능한 문자로 구성되어 있다. ASCII 코드는 2007년 12월 ASCII 코드로부터 파생된 UTF-8 이 ASCII 코드를..
19. 6계층 Presentation Layer 표현 계층 (6계층 Presentation Layer 표현 계층) 데이터의 표현과 암호화 및 코드 간의 번역을 담당한다. 즉 사용자 시스템에서 데이터의 구조를 하나의 통일된 형식으로 표현함으로써, 응용 계층의 데이터 형식 차이로 인한 부담을 덜어준다. 예를 들어 시스템 A에서는 ASCII 코드를 사용하고 시스템 B에서는 EBCDIC를 사용한다면, 시스템 A의 표현 계층에서는 OSI 표준 표현 방식으로 변경하여 전송하고 시스템 B에서는 이를 자신의 시스템에 맞게 재구성한다. 이러한 표현 방식을 ASN.1(Abstract Syntax Notation 1)이라 한다. ASN.1 방식은 응용 프로그램 계층 간에 서로 다른 표현을 상호 인식하기 위해 정보를 정의하고 데이터의 압축과 암호화 기능을 수행한다. 여기서 데이터 압..
18. 5계층 Session layer 세션 계층 5계층 Session layer 세션 계층 응용프로그램강의 대화를 유지하기위한 구조제공을 한다 세션(통신)의 시작과 종료의 관리절차 등을 정의한다 세션계층 이상에서 송수신하는 데이터의 단위를 메시지(message)라고 한다 세션계층 주요 기능 1.접속 설정 및 해제 세션을 설정 및 해제하는 기능 2 다중화 여러 세션들이 효율을 높이기 위해 1개의 같은 전송계층 접속을 사용할 수 있다 반대로 1개 세션이 속도 등을 위해 다수의 전송계층 접속들을 사용할 수도 있다 따라서 전송계층 에서와 같이 세션 계층에서도 상향,하향 다중화가 가능하다 3. 데이터 교환 OSI는 데이터를 4가지 범주로 구분한다 정보 데이터, 급송 데이터, 제어 데이터, 세션 파라미터 협상에 사용되는 데이터 3. 세션계층은 토큰을 사용함으로써..
17. TCP 와 UDP 차이점 (4계층 Transport Layer전송 계층) (4계층 Transport Layer전송 계층) TCP 와 UDP 차이점 TCP는 연결 지향형 프로토콜로, 수신 측이 데이터를 흘려버리지 않도록 데이터 흐름 제어(Flow Control) 및 전송 중 에러가 발생할 경우 자동으로 재전송하는 에러 제어(Error Control) 기능을 한다. 그리고 이를 통해 데이터의 확실한 전송을 보장한다. 또 다른 4계층 프로토콜 중 하나인 UDP(User Datagram Protocol)는 TCP와는 달리 데이터의 신뢰성 있는 전송을 보장하지는 않는다. 그러나 신뢰성이 매우 높은 회선을 사용하거나, 혹은 데이터의 확실한 전송을 요구하지 않는 경우, 한 번에 많은 상대에게 메시지를 전송하고자 하는 경우에는 전송 경로 확립을 위한 번잡함을 생략하고 시간을 절약할 수 있어..
16. UDP (4계층 Transport Layer전송 계층) (4계층 Transport Layer전송 계층) UDP(User Datagram Protocol) UDP(User Datagram Protocol)는 인터넷에서 사용하는 프로토콜중 중 구조가 가장 간단하다. 하부의 IP 프로토콜을 이용해 비연결형 서비스 지원하는 UDP는 작지만 빠른 전송이 가능하다 *특징 • 비연결형 서비스를 제공한다. • 헤더와 전송 데이터에 대한 체크섬 기능을 제공한다. • Best Effort 전달 방식을 지원한다. UDP는 상위 계층에서 받은 데이터를 IP 프로토콜에 전달하지만 전송한 데이터그램이 목적지까지 제대로 도착했는지는 확인하지 않는다. 따라서 TCP보다 신뢰성이 떨어져 일반 응용 프로그래머가 덜 선호한다. 하지만 프로토콜을 처리하는 기능이 작아 TCP보다 데이터 처리가 ..
15. TCP Syn flooding (4계층 Transport Layer전송 계층) (4계층 Transport Layer전송 계층) TCP Syn flooding 왼쪽 그림은 정상적인 TCP 를 맺는 Flow 이다. 하지만 오른쪽 처럼 서버의 Syn + Ack에 대해 클라이언트쪽에서 ACK을 주지 않으면, 75초 동안 대기 후 커넷션을 초기화를 한다. 문제는 위와같이 수많은 요청이 발생 할 경우, 커넥션 마다 75초를 기다리고, 메모리의 백로그큐(backlog queue) 에 쌓이면서, 서버쪽에 설정된 backlog 값을 넘어 서면 더이상 Syn 요청을 받지 못하게 된다. 해결방안 서버syncookie 기능 활성화 +syncookie : 클라이언트 Syn 요청에 대해 서버에서 응답할때 Syn 패킷을 backlog에 저장하지 않고, Tcp Packet hearder의 option항목 (m..
14. TCP에 대한 두번째 (4계층 Transport Layer전송 계층) (4계층 Transport Layer전송 계층) TCP연결과정 -TCP 데이터의 encapsulation 과정 -TCP 세크먼트(Segment) 데이터를 네트워크를 통한 실질적인 전송을 위하여 적절한 크기로 분할한 조각 (아래 TCP Header Format 참조) -패킷(Packet) OSI 7계층의 네트워크 계층(Network Layer)에서 다루는 내용 전송을 위해 분할된 데이터 조각(세그먼트)에 목적지까지의 전달을 위하여 Source IP 와 Destination IP가 포함된 IP Header가 붙은 형태의 메세지 프레임(Frame) OSI 7계층의 데이터링크 계층(Dara Link Layer)에서 다루는 내용 최종적으로 데이터를 전송하기 전에 패킷에 해더(맥 주소 포함)와 CRC를 위한 트레일..
13. TCP에 대한 첫번째 (4계층 Transport Layer전송 계층) (4계층 Transport Layer전송 계층) TCP(Transmission Control Protocol) 프로토콜중 하나인 TCP(Transmission Control Protocol)는 주소를 가지고 있으며 이를 포트(port)라고 한다. MAC 주소가 네트워크 카드의 고유 식별자이고 IP가 시스템의 주소라면, 포트는 시스템에 도착한 후 패킷이 찾아갈 응용 프로그램과 통하는 통로 번호라 생각할 수 있다. 시스템에서 구동되는 응용 프로그램들은 네트워킹을 하기 위해 자신에게 해당되는 패킷을 식별할 필요가 있는데, 이때 사용하는 것이 포트이다. 포트는 0번부터 65,535(216)번까지 존재하며, IP나 MAC 주소처럼 출발지와 목적지의 응용 프로그램별 포트 번호를 가지고 통신을 한다. 패킷구조 0번부..
12. 4계층 Transport Layer전송 계층 (4계층 Transport Layer전송 계층) 4계층인 전송 계층은 양 끝단(End to end)의 사용자들이 신뢰성 있는 데이터를 주고받을 수 있도록 함으로써, 상위 계층들이 데이터 전달의 유효성이나 효율성을 신경 쓰지 않도록 해준다. 발로 그린거라 보기에 불편하겠지만 간단하게 설명하자면 3계층인 네트워크 계층은 바로옆에 있는 장비까지만 전송을 컨트롤하고 4계층인 전송계층은 시작지점부터 목적지까지의 전체적인 전송을 컨트롤한다 장한다 전송 계층은 시퀀스 넘버 기반의 오류 제어 방식을 사용하여 특정 연결의 유효성을 제어하며, 일부 프로토콜은 상태 개념이 있고(stateful) 연결 기반(connection oriented)이다. 이는 전송 계층이 패킷들의 전송이 유효한지 확인하고 전송 실패한 패킷들을 다..
11. IGMP (3계층 Network Layer 네크워크 계층) (3계층 Network Layer 네크워크 계층) IGMP(Internet Group Management Protocol) 특정 그룹에 속하는 모든 호스트에 메시지를 전송하는 방식을 멀티캐스팅(Multicasting)이라고 한다. 그리고 이때 필요한 라우팅 알고리즘을 멀티캐스트 라우팅(Multicast Routing)이라고 한다. IGMP 프로토콜은 여러 호스트(수신자)에게 채널이 효과적으로 전송되게 하기 위해, 멀티캐스트 네트워크를 기반으로 구성되는 IPTV 서비스에 많이 사용되고 있다. IGMP 동작 과정 자신이 IGMP 메시지에 표시된 멀티캐스트 주소의 멤버임을 다른 호스트와 라우터에 알리기 위한 용도로 IGMP를 사용한다. 즉 A 그룹에 가입하려면 해당 멀티캐스트 주소를 표기한 IGMP 보고 메시..