본문 바로가기

CS 전공지식

(15)
[네트워크] OSI 7계층(TCP) 이전 시간에는 전송 계층과 전송 계층의 프로토콜 중 하나인 UDP에 대해 알아봤습니다. 그럼 오늘은 전송 계층의 또 다른 프로토콜인 TCP에 대해 알아보겠습니다! TCP TCP는 연결형 프로토콜로 송신 측과 수신 측이 서로 연결을 확인 한 뒤 데이터를 전송합니다. 또한 신뢰성/정확성이 보장되는데 이는 데이터가 목적지에 안전하게 전달되는 것을 의미합니다. 신뢰성과 정확성을 보장하기 위해 UDP보다 헤더가 훨씬 복잡하며, 연결하거나 연결을 끊기 위해서 3-way handshaking, 4-way handshaking 방법을 사용합니다. - 세그먼트 위의 그림은 TCP헤더를 상세히 나타낸 그림입니다. 아래 표는 각 영역의 역할을 정리한 것입니다. 밑줄 친 부분을 중점으로 보시면 됩니다. 필드 역할 송신 측 포..
[네트워크] OSI 7계층(전송 계층, UDP) 이전 시간에는 3계층인 네트워크 계층에 대해 알아봤습니다. 오늘은 전송 계층의 전체적인 내용과 전송 계층의 프로토콜 중 하나인 UDP에 대해 포스팅할 예정입니다. 전송 계층 전송계층은 포트 번호를 통해서 해당되는 프로세스들이 데이터를 전송할 수 있도록 하는 계층입니다. - 데이터 전송 과정 송신 측에서는 세션 계층에서 데이터를 받아 분할한 뒤 분할된 데이터에 각각 헤더를 붙입니다. 헤더에는 포트번호와 Checksum 등이 포함되어 있습니다. 세션 계층에서 받은 데이터를 분할하기 때문에 여러 개의 세그먼트(TCP의 PDU)가 생기게 되고, 여러 개의 세그먼트를 네트워크 계층으로 보냅니다. 데이터를 분할하는 이유는 사용자가 보내고 싶은 데이터의 크기는 크고 다양한데 데이터를 전송할 때 전송할 수 있는 최대 ..
[네트워크] OSI 7계층(네트워크 계층) 이전 시간에는 데이터 링크 계층에 대해 알아봤습니다. 오늘은 네트워크 계층에 대해 작성해보려고 합니다! 네트워크 계층 네트워크 계층은 데이터를 목적지까지 가장 빠르게 전달하는 역할을 수행하는 계층입니다. 라우터를 통해 라우팅을 하며 컴퓨터의 위치를 나타내기 위해 IP주소가 사용됩니다. 네트워크 계층은 내용이 많으니 천천히 읽으면서 따라와 주세요! - 데이터 전송 과정 위의 그림은 네트워크 계층에서 데이터가 전송되는 과정입니다. 송신 측에서는 전송 계층에서 받은 데이터에 헤더를 붙여 데이터 링크 계층으로 보내고, 수신 측에서는 데이터 링크 계층에서 받은 데이터에 헤더를 제거하여 전송 계층으로 보냅니다. 네트워크 계층의 데이터는 패킷이라고 하며, 헤더에는 송신 측 IP 주소와 수신 측 IP 주소 등이 포함됩..
[알고리즘] Dijkstra 알고리즘 Dijkstra 알고리즘 - 정의 Dijkstra 알고리즘은 하나의 정점에서 나머지 정점까지의 최단 거리(경로)를 구하는 알고리즘입니다. 정점 사이에 간선이 존재하고, 간선마다 가중치(=비용)가 있습니다. 특징으로는 모든 가중치가 양수일 때만 사용할 수 있는 알고리즘입니다. 어떠한 정점에 방문할 때 이전의 선택했던 경로가 아니라 다른 경로를 거쳐 방문하는 것이 더 적은 비용이 든다면, 다른 경로를 거쳐 방문하면서 최단 거리를 구합니다. 말로만 설명하면 이해하기 어려우니 과정을 보면서 설명하겠습니다. - 최단거리를 구하는 과정 위의 그래프는 정점이 5개, 간선이 6개이며 각 간선에는 가중치가 표시되어 있습니다. distance배열은 시작 정점이 1일 때 각 정점으로 갈 수 있는 최소 비용을 저장합니다. 아..
[네트워크] OSI 7계층(데이터 링크 계층) 이전 시간에는 물리 계층에 대해 알아봤습니다. 오늘은 물리 계층과 데이터를 주고 받는 데이터 링크 계층에 대해 알아보겠습니다. 데이터 링크 계층 데이터 링크 계층은 Mac 주소가 사용되며, 데이터가 안전하게 전달되도록 도와주는 계층입니다. 이렇게만 설명하면 확 와닿지 않으실 테니 지금부터 자세히 설명해보겠습니다! - 데이터 전송 과정 위의 그림은 데이터가 전송되는 과정을 보여주는 그림입니다. 송신 측에서 바라보면 네트워크 계층에서 받은 데이터에 트레일러와 헤더를 붙여 물리 계층으로 넘겨줍니다. 헤더에는 Mac주소가 들어있고, 트레일러에는 에러 검출을 위한 정보가 들어있습니다. 데이터에 헤더와 트레일러가 붙은 것을 프레임이라고 하며 데이터 링크 계층에서 사용됩니다. 수신 측은 송신 측과는 반대로 물리 계층..
[네트워크] OSI 7계층(물리 계층) 이전 시간에 OSI 7계층에 대한 전반적인 내용 알아봤습니다. 앞으로는 각 계층에 대해 자세히 알아보는 시간을 가지려고 합니다! OSI 7계층에 대한 전반적인 내용은 이전 게시물을 참조해주세요. [네트워크] OSI 7계층 OSI 7계층 - OSI(Open System Interconnection) 컴퓨터 사이에서 통신이 발생할 때 표준 프로토콜을 사용할 수 있도록 ISO(국제 표준화 기구)에서 개발한 개념적인 모델입니다. 여기서 프로토콜이란 통신을 soso-yw.tistory.com 물리 계층 물리 계층은 데이터 전송에 초점이 맞춰진 계층입니다. 비트로 된 데이터를 전기 신호로 변환해야 하기 때문에 어떠한 기준으로 신호를 변환할지, 전송매체는 무엇을 사용할지 등에 대한 규칙을 정의하는 계층입니다. 그럼 ..
[네트워크] OSI 7계층 OSI 7계층 - OSI(Open System Interconnection) 컴퓨터 사이에서 통신이 발생할 때 표준 프로토콜을 사용할 수 있도록 ISO(국제 표준화 기구)에서 개발한 개념적인 모델입니다. 여기서 프로토콜이란 통신을 할 때 데이터의 형식, 데이터의 전송 방식 등을 정의한 규약으로, 일종의 약속이라고 생각하면 됩니다. 총 7계층으로 구분되며, 1~3계층을 하위 계층, 4~7계층을 상위계층이라고 합니다. 통신이 일어나는 과정을 단계별로 파악할 수 있고, 문제 발생 시 해당 단계만 수정하면 된다는 장점이 있습니다. - 통신이 발생할 때의 과정 송신하는 컴퓨터의 응용 계층에서 데이터를 보내면 각 계층을 거칠 때마다 헤더(포트 번호, 컴퓨터 주소 등)가 붙습니다. 물리 계층에 도착하면 통신 케이블 ..