본문 바로가기

임베디드 시스템반도체 개발자 과정 by 서울기술교육센터/후기

65일차

9월 22일

라즈베리파이

 

집에서 컴퓨터할 때, 국내/외 가리지 않고 인터넷에 연결해서 어느 서버로 접속했다고 하자.

어떻게 메시지를 주고 받는가.

흐름에 대한 개념을 잡고 디테일을 보도록 하자.

 

인터넷 통신의 흐름은 택배와 비슷하다.

ex) 철수 -> 영희 선물을 보낸다고 하자. = 철수는 택배기사에게 선물 상자를 주고 택배 기사는 영희 집에 도착해서 넘긴다.

철수는 서울에 있고 영희는 부산에 있다. 서울, 부산 domain

철수네 집:철수가 선물을 샀음. Host(EndPoint, EP)
철수 Program(Process)

선물 Data(payload)

-> 포장 뽁뽁이 header를 붙인 data : segment(ip는 없음)

-> 포장 상자 송장이 붙은 상자를 가리켜 packet(ip와 header가 모두 포함)

-> 송장 IP 보낸 사람 주소 이름 받는 사람 주소 이름 등이 있음

-> 택배기사 수거 / 택배기사 : router외부 쪽으로 나가게끔 하는 것.

 바깥과 구분짓는 문 : gateway. 따라서 내부 통신에서는 gateway가 필요없음.

 택배회사 : 통신사(ex sk, lg, kt) ISP;Internet Service Provider

-> 물류센터 라우터와 라우터를 거쳐 최종 라우터까지 감.

-> 집하장 역시 gateway를 마주함.

-> 영희 엄마 filtering하고 있음. inspector임. 즉, firewall

 : 철수가 보냈음. 근데 맘에 안 들었음. 폐기 처분.

 : 언박싱

영희 송장에 붙어있는 주소 : ip, 이름 : port

 : 포트를 보고 어떤 프로세스로 갈지 결정함

 : 영희가 받고 전화를 했다. ACK

 : 영희로부터 연락이 없어서 다시 보낼 수도 있다.

영희네 집 Host

 

통신관련 내용 대략 330 쪽부터

p.334 OSI 7계층

L7 Application / 지금은 5,6,7 의미가 없음. 다 합쳐서 application

L6 Presentation / 

L5 Session / 

L4 Transport / TCP/UDP, port number 할당

L3 Network / IP(주소);논리 주소

L2 Data Link / MAC address;물리 주소, LANCARD(통신칩의 주소)

L1 physical / UTP cable, 광 cable, Wifi 이런 거에 대한 정의를 내림.

 

IP는 같아도 프로세스를 여러 개 띄울 수 있다. 노래와 웹서핑을 같이 한다든가. 이런 구분을 위해 포트 존재.

 

IP구조 IPv4 / IPv6는 128bit임.

Host IP 10.10.16.225 각 8bit. 따라서 0-255. 이 중에서 양 끝 자리에서 0과 255는 사용하지 않음.

Subnet MASK 255.255.255.0 c class

둘을 & 연산함.

10.10.16.0 앞 3개의 숫자를 지니고, 이 숫자가 같은 애들은 그냥 통과. arp 개념 필요. 대충 넘어감.

 

DNS setting도 함.Domain Name System

 

OSI 7 Layer 개념

Application / Data                    /payload

Port 번호    / Process 구분      / segmant port/pl

IP 주소       / 컴퓨터 host 구분 / packet ip/port/pl

MAC          / 물리선 결정         / mac/ip/port/pl => frame

물리           / cable, 광

 

tracert www.naver.com

거쳐가는 router를 알려줌

----

TCP / UDP

Transmission Control Protocol. 연결지향형 Webpage

User Datagram Protocol. 속도지향형 Game, 전화통화

보안, 연결, 

 

p. 343 socket

socket coding Lib. 사용 ** server에서 사용하는 아이.

socket fopen **bind **listen **accept *connect * write/read *sent to *read/new *recvfrom *close *shutdonw

 

connect clinent 에서 사용

wirte / send TCP 전송함수

send to UDP 전송함수

readd/recv TCP 수신함수

recvfrom UDP 수신함수

나머지 공통

 

p. 359 ~ p. 362 server client echo socket 프로그램

server program

echo program 따로 만들어야 함

 

1. 서버가 실행

2. client 서버에 connect()

3. client가 서버에 요청 메시지를 보낸다.

3,4반복

4. 서버가 client가 응답 메시지를 보낸다.

5. client 소켓을 닫는다. close

6. 2로 돌아간다. (서버는 안 꺼지는 게 기본. 업그레이드할 때나...)

 

 

127.0.0.1은 local ip로 정해져있다고 함.

'임베디드 시스템반도체 개발자 과정 by 서울기술교육센터 > 후기' 카테고리의 다른 글

68일차  (0) 2022.09.27
67일차  (0) 2022.09.26
63일차  (0) 2022.09.20
62일차  (0) 2022.09.20
61일차  (0) 2022.09.18