9/5 - 1 Socket Basics

LEEHYUNJE·2024년 9월 5일
0

개요

이번 강의는 '컴퓨터 네트워크'를 들었다는 가정하에 진행해서 이전 컴퓨터 네트워크를 복습하는 시간을 가졌다. 그래서 양이 좀 많지만 복습하는 마음으로 읽어보도록하자.

Definition of Protocol

프로토콜 : 정치적으로 외교학에 관련되어서 나왔던 단어이다.
사회적 측면

  • 국가간 동의를 얻는 형식(정치)

과학적 측면

  • 실험을 수행하는 사전에 정의된 서면 절차 방법
  • 임상실험을 계획하는 문서

네트워크 측면

  • 데이터 전송 방법을 결정하는 정의된 규칙과 규정의 집합
  • 전기통신 및 컴퓨터 네트워킹 안에

네트워크 프로토콜

성공적인 프로토콜로 만들기위한 조건 세가지
1. 무엇을 커뮤니케이트 하는가?
2. 어떻게 커뮤니케이트하는가?
3. 언제 커뮤니케이트하는가?

"관련된 개체들 사이에서 상호적으로 수용 가능한 일련의 규칙을 따라야한다."

Key Elements of a Protocol

Syntax: data formats

  • 데이터의 형태
  • 인코딩 디코딩 정보

Semantics: 메세지를 전달 받았을때 취하는 동작들

Timing

  • Synchronization: 여러 엔티티가 시간에 맞춰 정렬되어 작업이나 데이터 전송을 효과 적으로 조정할 수 있도록 보장(ex_ 네트워크 프로토콜의 시계 동기화)

  • Time out : 작업이나 응답에 대한 특정 시간 제한을 설정합니다. 지정된 시간 내에 응답을 받지 못하면 시스템은 작업을 실패로 가정.

그래서 네트워크 프로그래밍이란?

  • Network Programming is the task for implementing target
    applications associated with network by designing
    • syntax
    • semantics
    • timing
    • and others if necessary

RFC 1350: The TFTP Protocol

네트워크 개발자들은 좋은 기능들을 넣고, 이것이 왜 있어야하는지 이유를 설명한다. -> 프로토콜을 정당화하는 과정

  • RFC에서 관련된 모든 것들은 맨 마지막에 Security Considerations에 관련해서 꼭 설명을 해둔다.
  • RFC를 개발할때 가장 중요한 것은 어떤 것에 종속되지 않는것이 중요. 모든 것들을 Text(아스키코드) 기반으로 만들어서 배포한다.

  • 이런 것들을 해야함. 많이 쓰는 것도 중요한 것은 아님. 다른 RFC 문서들을 보면서 해라.

Layered Protocol Reference Model

  • Layer은 두가지 Model이 존재한다.
  1. OSI 7 Layers Model
  2. TCP/IP Model
  • Data Link 와 Physical은 결국 따라다니게 되는 것이지만, 다른 Layer이다.
    • 무선이라면 무선 data Link, 유선이라면 유선 Data Link로 사용되기 때문
    • 독립적으로 존재하지만, 항상 페어로 존재한다.(Network Access)


Protocol

  • 서로 상호작용하기 위해서는 같은 Layer를 가지고 있어야한다.
  • 다르면 상호작용 안됨.

다른 Layer와 통신할 수 있도록 도와주는 것이 Interface

  • 다른 한단계를 넘은 Layer과는 절대 통신할 수 없다.
  • User Level에서 Kernel Level에 직접 접근이 가능해야한가? -> 절대 안됨.

TCP/IP Layered Model

  • Network of networks

"the Internet"

  • 지금은 TCP/IP 밖에 사용하지 않는다.

  • Network Layer에는 IP밖에 없는 모습.

TCP/IP - Encapsulation

  • 각 단계를 진행하면서 내용을 건드리지 않고 붙이기만 하는 모습. -> 독립적으로 수행

PDU(Protocol Data Unit): 프로토콜 데이터 단위
SDU(Service Data Unit): 서비스 데이터 단위

TCP/IP - Decapsulation

  • 각각의 헤더는 위의 layer을 나타낸다. SDU를 전달하기 위해서
  • 받은 데이터를 해당하는 Applcation에 전달하는 과정.

후기

이번 강의는 이전 '컴퓨터 네트워크'강의를 수강한 학생들만 들을 수 있으므로, 교수님께서 다 아신다는 가정하에 강의를 하셨기 때문에 분량이 꽤 많다. ㅎㅎ
한번 복습차 더 정리해보도록하자
-> 아직도 1시간 강의 내용이 끝나지 않았음.

profile
현재진행중

0개의 댓글