CS/네트워크

전송 계층 서비스 전송 계층은 애플리케이션 계층에서 온 메세지를 세그먼트 단위로 쪼개고 이를 네트워크 계층으로 전달하는 역할을 한다. 논리적 연결을 통한 end-to-end 연결이라 할 수 있다. 송신자는 애플리케이션 메세지를 세그먼트로 쪼개고, 수신자는 세그먼트를 메세지로 조합해서 애플리케이션으로 전송한다. 이러한 일을 가능하게 하는 것이 TCP, UDP 프로토콜이다. 애플리케이션에서 요구하는 서비스 형태에 맞춰서 TCP 통신을 할 것인지, UDP 통신을 할 것인지를 결정한다. 네트워크 계층은 host와 연결한다면, 전송 계층은 process 간의 연결을 제공한다. 전송 계층의 역할 송신자 : 애플리케이션 메세지를 받고 세그먼트로 분해한다. 거기에 protocol control 정보를 담은 헤더를 붙여..
앞서 Data Link Control의 기능을 알아보았다. 이 기능들은 프로토콜로 구현되는데, 이 프로토콜들에 대해 알아볼 것이다. 이 책에서는 HDLC와 Point-to-Point에 대해 소개하고 있다. High Level Data-link Control HDLC는 bit oriented 프로토콜이고 point-to-point 통신과 multipoint links 통신도 가능하다. 이는 두 가지 전송 모드를 갖는데, NRM(normal response mode)와 ABM(Asynchronous Balanced mode)이다. NRM : primary에서 명령을 보내고 secondary에서 응답하는 방식, Point-to-Point, Multipoint link 둘다 가능 ABM : Point-to-Po..
데이터 링크 계층 데이터 링크 계층이 하는 일은 "node-to-node" 통신이다. 패킷의 최종 목적지엔 크게 관심이 없고, 당장 다음 노드로 잘 보내기만 하면 된다. 유선, 무선으로 연결해 1대1 연결도 가능하고 broadcast도 가능하다. 데이터 링크 계층에서 제공하는 서비스를 이해하기 위해서는 데이터 링크 계층의 sublayer를 이해해야 한다. 데이터 링크 계층의 오류를 제어하는 등의 역할을 하는 Data-link-control(DLC) Sublayer와 데이터 전송의 타이밍을 결정하는 Media-Access-control(MAC) Sublayer가 있다. MAC은 broadcast 할 때만 사용되는데, 그 이유는 여러 명에게 송신할 때 충돌이 발생할 수 있기 때문에 어떻게 보낼지 결정하는 M..
Peer-to-Peer Architecture 서버가 항상 있는 구조가 아니라, end system이 직접적으로 서로 통신하는 방법이다. peer가 다른 peer에게 서비스를 요청하면, 요청을 받은 peer는 서비스를 제공한다. 이러한 예시로는 BitTorrent, KanKan, VoIP 등이 있다. File Distribution 지난 번에 Client-server Paradigm과 Peer-to-Peer Paradigm에 대해 언급한 적이 있다. 이번에는 파일 공유 관점에서 더욱 자세히 분석해보자. 하나의 서버에서 N개의 peer에게 파일을 공유하는데 시간이 얼마나 소요될까? 클라이언트-서버 모델은 클라이언트가 서버에 연결하고 데이터를 조금씩 받아가는데 시간이 소요된다. 그러나 P2P는 파일을 sha..
E-mail 이메일은 아래 3가지 구성요소를 가진다. user agent : "mail reader"로 메일을 작성하고 수정하며 전송할 수 있다. Outlook, iPhone mail client가 이에 속한다. mail server mailbox : 들어온 메일이 저장되는 곳이다. Message queue : 내보낸 메일이 저장되는 곳이다. SMTP Protocol : 메일 서버 간, user agent와 메일 서버 사이의 이메일 전송 프로토콜이다. SMTP(Simple Mail Transfer Protocol) TCP를 사용하며 2번 포트를 사용한다. 전송할 때는 Handshaking, Transfers of messages, closure 과정을 겪는다. 보통 ASCII 코드로 전송된다. SMTP ..
Web과 HTTP 웹 페이지는 동영상, 이미지, 문서와 같은 많은 object로 구성되어 있다. 이것들은 서로 다른 웹 서버에 저장될 수 있다. 웹 페이지는 기본 HTML 파일과 여러 참조 객체로 구성된다. 예를 들어, 웹 페이지가 HTML 텍스트와 5개의 JPEG 이미지로 구성되어 있으면, 이 웹 페이지는 6개의 object를 갖는다. HTTP HTTP는 Hyper Transfer Protocol의 약자로, 웹의 애플리케이션 계층 프로토콜이다. 클라이언트/서버 모델로 동작하며 클라이언트(브라우저)가 HTTP 프로토콜로 object를 요청하면, 서버(웹 서버)가 요청을 받아 object를 보낸다. HTTP와 TCP HTTP는 TCP를 사용하는데, 동작 과정은 다음과 같다. 클라이언트가 TCP 연결을 설정..
Principles of network applications 네트워크 앱 생성 end system에서 동작할 수 있게 프로그램을 구성하고 네트워크를 넘어 서로 소통한다. 예를 들면, 웹 서버 소프트웨어가 브라우저 소프트웨어와 통신하는 것과 같다. end system에서 동작하도록 프로그램을 구성하면, 네트워크 코어에서는 동작할까? 정답은 그렇다. 네트워크 코어에서는 사용자 애플리케이션으로 동작하지 않기 때문에 프로그램을 짜지 않아도 된다. Client-Server paradigm 서버 클라이언트 항상 켜져 있고 고정된 IP 주소를 갖는다. 대부분 데이터 센터에 구축되어 있다. 서버와 통신하며 항상 연결된 상태가 아니라서 통신할 때 켜줘야 한다. 따라서 IP 주소는 항상 바뀌고 클라이언트들과 직접적인 통..
2.5 Multiplexing 멀티플렉싱은 쉽게 말해, 여러 명의 유저들에게 데이터를 한 번에 보낼 때 어떻게 잘 나눠 보낼지에 대한 것이다. 기기마다 요구하는 대역폭이 다른데, 자원을 어떻게 하면 효율적으로 사용할 수 있을까? 그렇게 해서 생각해낸게 통신 링크를 공유하는 방법이다. Frequency-Division Multiplexing(FDM) 유저들과 주파수를 나누어 사용하는 방법이다. 대역폭을 나눠서 쓰기 때문에 속도가 느리다. Time-Division Multiplexing(TDM) 유저들과 시간을 나눠서 사용하는 것이다. 2.6 Transmission Media 전송 매체는 유선과 무선으로 존재한다. Guided Media 유선 장비를 말하는데, Twisted-pair cable, coaxia..
흐름을 간단하게 요약하면 아래와 같이 요약할 수 있다. 종류 방법 디지털 전송 Digital-to-Digital line coding, block coding Analog-to-Digital PCM, DM 아날로그 전송 Digital-to-Analog ASK, FSK, PSK Analog-to-Analog AM, FM. PM 1. 디지털 전송 Digital-to-Digital Line coding 들어온 정보를 encoder를 사용해 0과 1로 구분해서 pulse를 만들어낸다. 이를 다시 비트로 표현하는 것을 decoder라고 한다. Block coding 한 번에 여러 비트를 묶어서 Block으로 처리하는 방식이다. 데이터 앞에 잉여 정보(SYN)을 붙여서 오류 탐지와 같은 일을 하도록 한다. 수신자는..
물리 계층에서는 비트를 신호로 바꾸어 내보내는데, 이를 변환하는 과정을 주목해야 한다. 이 글에서는 아날로그 신호와 신호의 왜곡에 대해 다룰 것이다. 2.1 Signals Alice와 Bob을 데이터를 주고 받는데, 실제로는 신호를 주고 받는다. 물리 계층에서는 비트를 신호로 바꾸어서 내보낸다. 아날로그 신호 아날로그 신호는 주기적 혹은 비주기적이라 할 수 있다. 데이터 통신에서는 대부분 주기적인 신호를 의미하며 아날로그 신호는 period(frequency), phase, Amplitude 3가지 요소로 이루어진다. Amplitude : 진폭이라 하며, 신호의 주파수에서 가장 높은 구간을 말한다. 중간점에서 최고점까지의 거리이다. Period(T) : 신호가 한 사이클 도는 데 걸리는 시간을 의미한다...
소-은
'CS/네트워크' 카테고리의 글 목록 (2 Page)