data link layer (데이터링크층)

1      데이터링크층


1.1  서비스항목 (프레임 짜기, 흐름 제어, 오류 제어, 혼잡 제어 => frame + control)


프레임 짜기 : 각 노드에서 데이터링크층은 다음 노드에게 데이터그램을 전송하기 전에 네트워크층에서 전달받은 패킷인 다이어그램을 프레임에서 캡슐화 해야한다.

흐름제어 : /수신자의 전송능력 차이를 극복


     오류제어


호납제어 : layer2에서 혼잡제어는 포함되지 않는다.


1.2  세 종류의 주소 (windows – ipconfig/all, unix - %ifconfig -a) ->유니캐스트, 멀티캐스트, 브로드캐스트 3종류


유니캐스트 주소 : LAN ETHERNET에서의 유니캐스트 링크계층주소(48bit) ex) A3:34:45:11:92:F1 A3 1byte 1byte6개니까 48bit


1.2.1       주소변환 프로토콜(ARP, Address Resolutuon Protocol) -> 32bit(3계층 IP주소)48bit(2계층MAC주소) 변경


반대는 RARP(MAC주소 -> IP주소)

'SW > 데이터통신' 카테고리의 다른 글

Switching (교환)  (0) 2017.09.05
전송매체  (0) 2017.09.05
주파수 분할 다중화, 반송파  (0) 2017.09.05
아날로그 전송  (0) 2017.09.05
물리층 (Physical layer, OSI-7-Layer  (0) 2017.09.05

DHCP(Dynamic Host Configuration Protocol)

DHCP(Dynamic Host Configuration Protocol)



IP address 비롯한 각종 TCP/IP protocol 기본 설정을 개별 client들에게 자동적으로 할당하는 protocol이다.


기본적으로 TCP/IP 설정을 자동으로 관리하며, 개별 시스템에 대해서 IP address 관련된 설정 정보를 준다.


구성으로는 DHCP Client Server 되어있다.

'SW > 데이터통신' 카테고리의 다른 글

data flow (데이터 흐름방향)  (0) 2017.09.05
데이터 통신 구성요소 (용어정리)  (0) 2017.09.05
TCP/UDP  (0) 2017.09.05
IP (Internet Protocol)  (0) 2017.09.05
SOAP (Simple Object Access Protocol)  (0) 2017.09.05

TCP/UDP

TCP(Transmission Control Protocol)



Connection Oriented 전송으로 에러 정정과 흐름제어의 기능을 가지고 있어, 유실된 packet 있을 경우 원래 host 재전송을 요청한다.


안정성과 신뢰성이 뛰어나기 때문에, 사용자 데이터 전송, 대용량 전송에 사용된다.





 

UDP(User Datagram Protocol)



 Connectionless 전송으로 에러 정정을 하지 않는다.


그렇기 때문에 시스템 내부 data 전달, 소규모 data 전송에 사용된다.

IP (Internet Protocol)

IP(Internet Protocol)



송신 host 수신 host Packet Switching Network에서 정보를 주고받는데 사용하는 정보위주의 protocol이다.


OSI-7-Layer 에서 host 주소 지정과 packet 분할, 조립기능을 한다.


IP 정보는 packet(datagram)으로 전송되며, 이전에 통신한 없는 host 패킷을 보낼 경로 설정이 필요 없다.


특징으로는 unreliability connectionless 있는데 이는 흐름에 관여하지 않기 때문에, 보낸 data 제대로 갔는지 보장하지 않는다.


packet 중복으로 전송될 있고, 유실될 수도 있으며, 순서가 달라질 있다.


이러한 점을 개선하려면 TCP protocol 같은 상위 protocol 사용해야 한다.

SOAP (Simple Object Access Protocol)

SOAP(Simple Object Access Protocol)



일반적으로 널리 알려진 HTTP, HTTPS, SMTP 등을 통해서 xml 이용하여 분산처리 환경에서 데이터 교환을 쉽게 있게 해주는 protocol이다.


SOAP 응용 계층에 있는 protocol 전송 계층의 protocol 사용할 있게 만든다.


장점으로는 HTTP 기반 위에서 동작하기 때문에, proxy 방화벽에 구애 받지 않고 쉽게 통신할 있고, HTTP 이외의 다른 transport protocol(SMTP) 사용할 있다.


또한 XML 이용하기에 플랫폼과 프로그래밍 언어에도 독립적이다.


하지만 XML 형태로 보내기 때문에 다른 protocol 비해서 상대적으로 느리다.

'SW > 데이터통신' 카테고리의 다른 글

TCP/UDP  (0) 2017.09.05
IP (Internet Protocol)  (0) 2017.09.05
Real Time Streaming Protocol (RTSP, 실시간 스트리밍 프로토콜)  (0) 2017.09.05
웹소켓 (Web Socket)  (0) 2017.09.05
HTTP header  (0) 2017.09.05

Real Time Streaming Protocol (RTSP, 실시간 스트리밍 프로토콜)

실시간 스트리밍 프로토콜(Real Time Streaming Protocol, RTSP)



RTSP 스트리밍 시스템에 사용되며 미디어 서버를 원격으로 제어할 사용하며 포트 번호는 554번이다.


HTTP 규약과 비교하였을 문법이나, 동작이 비슷하다.


그러나, HTTP stateless 반면 RTSP stateful 규약이다.


명령어로는 재생, 일시정지, 빨리 감기, 되감기, 재생위치 변경 같은 것들이 있다.


TCP, UDP 어느 것을 사용할지 정해져 있지 않지만 보통 UDP 사용한다.


RTSP 사용하기 위해서는 media server client connection 맺어야 한다.


, client server 접속요청을 하면 server 컨텐츠의 정보를 전달한다.


그런 다음엔 setup명령어를 통해서 연결설정을 하고, media 플레이 한다.


마지막으로 teardown 명령어로 연결을 해제한다.

'SW > 데이터통신' 카테고리의 다른 글

IP (Internet Protocol)  (0) 2017.09.05
SOAP (Simple Object Access Protocol)  (0) 2017.09.05
웹소켓 (Web Socket)  (0) 2017.09.05
HTTP header  (0) 2017.09.05
HTTP/2 (HyperText Transfer Protocol Version 2)  (0) 2017.09.05

웹소켓 (Web Socket)

Web socket



하나의 TCP 접속에 full-duplex channel 제공하는 통신 protocol이다.


일반 소켓 통신과의 차이점으로는 bytes stream 사용하지 않고 UTF8 format message stream만을 허용 한다는 점이다.


 Web socket 연결 설정을 위해 client server간의 hand-shake 필요한데 과정은 다음과 같다.


1.    Browser key 가지고 web server web socket 사용할 있는지 확인한다.


2.    Web server browser에게 준비가 되었다는 신호와 함께 연결 하라는 신호를 보낸다.


3.    Browser Web socket 통해서 web server 데이터를 교환한다.


4.    Web browser 데이터 교환이 끝나면 web server에게 연결을 종료 한다는 신호를 보낸다.


과정이 끝나면, TCP 연결을 통하여 응용 계층 protocol HTTP에서 web socket 바뀌게 되는데 HTTP 완전하게 무시되고, web socket connection 끊일 때까지 끝점에서 web socket protocol 사용하여 data 주고받을 있다.


장점으로는 Active X 사용하지 않고 TCP/IP socket 통신을 구현할 있다는 점과, HTTP 헤더크기도 크게 압축할 있어 네트워크의 과부하를 줄이고 APP 반응성을 높일 있다는 장점이 있다.

HTTP header

HTTP header



web server client 사이에서 정보를 교환할 있도록 삽입되는 요소로 수십개의 요소가 있다. 이들을 크게 4가지로 분류했는데, 분류는 다음과 같다.


1.    Request Header : Request Message 내에서만 나타나며 가장 방대하다. 문서 양식과 server 매개변수들을 담는다.


2.    Response Header : 특정 유형의 HTTP요청이나 특정 header 수신했을 나타난다. Response 보내는 server 대한 정보를 담는다.


3.    General Header : Request Message, Response Message 모두에서 사용 가능하다. Client, Server, HTTP 관련된 정보를 전송하는데 사용한다.


4.    Entity Header : Message 내에 포함된 Entity 대한 구체적인 설명, Client server 사이에 전송되는 데이터에 대한 정보를 담는다.

HTTP/2 (HyperText Transfer Protocol Version 2)

HTTP/2(Hypertext Transfer Protocol Version 2)



웹의 HTTP protocol 규정된  웹에서 사용하게  HTTP protocol 2번째 버전이다


HTTP/1.1 기본적으로 connection 하나의 요청을 처리하도록 설계 되어있다


 동시전송이 불가능하고 request response 순차적으로 이루어진다.


이와 다르게 HTTP/2 connection 여러 개의 메시지를 주고 받을  있으며(multiplex stream) response 순서에 상관없이 stream으로 주고 받는다.


순서가 필요한 경우에는 stream priority 이용하여 해결해준다


또한 HTTP/1.1 header 커서 느린데이를 해결하기 위해서 ‘Huffman coding’, ‘header table’  활용하여 기존 header 크기 대비 1/3 정도로 감소했다


마지막으로, server push라는 작업으로 속도를 더욱  빠르게 했다


이는클라이언트가 요청하지 않은 리소스를 server 알아서 보내는 것이다


이로서클라이언트의 request 적어져서 속도가 향상된다.





'SW > 데이터통신' 카테고리의 다른 글

웹소켓 (Web Socket)  (0) 2017.09.05
HTTP header  (0) 2017.09.05
HTTPS (Hyper Text Transfer Protocol Secure)  (0) 2017.09.05
HTTP(HyperText Transfer Protocol) Protocol  (0) 2017.09.05
통신 프로토콜 (Protocol), OSI 7 계층  (0) 2017.09.05

HTTPS (Hyper Text Transfer Protocol Secure)

HTTPS(Hyper Text Transfer Protocol Secure)


소켓 통신에서 일반 텍스트를 이용하는 대신에 SSL이나 TLS protocol 이용하여 session 데이터를 암호화를 하며, TCP/IP port 443 이다.


여기서SSL hand-shake 통해서 client 올바른 server 통신하게 해주고, data 주고받을  암호화를 해준다.


 HTTPS 사용 목적으로는 User 원하는 Server 직접 소통할 있고, Server만이 User data 읽을 있다는 점에 있다.


여기서 TLS SSL 기반으로 업그레이드한 protocol이다.


또한, 암호화 방식으로 공개키 방식 사용하는데, 이는 2개의 키를 가지고 하나는 암호화 나머지 하나는 복호화를 하는 것이다.


이러한 과정에서 속도가 저하되기 때문에 HTTPS HTTP보다 느리다.

'SW > 데이터통신' 카테고리의 다른 글

웹소켓 (Web Socket)  (0) 2017.09.05
HTTP header  (0) 2017.09.05
HTTP/2 (HyperText Transfer Protocol Version 2)  (0) 2017.09.05
HTTP(HyperText Transfer Protocol) Protocol  (0) 2017.09.05
통신 프로토콜 (Protocol), OSI 7 계층  (0) 2017.09.05

'프로토콜'에 해당되는 글 12건

1 2 →