網路協議五層模型和socket

2022-03-11 09:43:17 字數 1484 閱讀 8809

一、物理層:這一層是用來傳送電訊號的。就是01101011001

二、資料鏈路層:把物理層 的電訊號分組,每一組都叫做乙個資料報或者叫做資料幀,每乙個資料報的內容為報頭和資料兩部分,他的頭有固定的18個位元組組成,6個是傳送者位址,6個是接受者位址,6個是資料型別,而且這些位址都是mac位址。每個網絡卡都有唯一的mac位址。廣播,這層進行廣播,可能會出現廣播風暴。

三、網路層:ip:ipv4:從0.0.0.0到255.255.255.255,這代表有限,於是有了ipv6.

子網掩碼:通過子網掩碼和ip判斷兩個ip是否處於同乙個網段。

四、傳輸層:

tcp協議:三次握手,四次揮手。需要響應可靠

埠號:埠範圍0-65535,0-1023為系統占用埠

dos和ddos攻擊:拒絕服務供給,分布式的拒絕服務攻擊(tcp的天性)

udp協議:不需要響應,所以不可靠

埠 -通過ip+子網掩碼唯一確定一台裝置 -通過ip+子網掩碼唯+埠號唯一確定乙個軟體

半連線池

socket是乙個在應用層和傳輸層之間的抽象層,它把tcp/ip層複雜的操作抽象為幾個簡單的介面**用層呼叫已實現程序在網路中通訊

實現乙個簡單的socket

服務端

import socket

soc=socket.socket(socket.af_inet,socket.sock_stream)

soc.bind(('139.227.13.99',8082))

#soc.bind(('127.0.0.1',8080))

soc.listen(5)

sock,addr=soc.accept()

data=sock.recv(1024)

data=bytes.decode(data)

data=data.upper()

print(type(data))

sock.send(bytes(data,encoding='utf-8'))

sock.close()

soc.close()

服務端

import socket

soc=socket.socket()

soc.connect(('192.168.11.102',8082))

msg='hello world'

soc.send(bytes(msg,encoding='utf-8'))

data=soc.recv(1024)

print(data)

soc.close()

媽的我不是學python的嗎,為什麼在學計算機網路?

網路協議五層模型

物理層 兩個網路裝置間實現位元流的透明傳輸,傳輸010101二進位制的電訊號。資料鏈路層 把物理層的電訊號分組,每一組叫乙個資料報 資料幀,每一資料幀分成 報頭head和資料data兩部分 即每乙個資料報都是由報頭和資料兩部分組成。廣播 計算機底層,只要在乙個區域網,都是靠廣播的方式,但是只在乙個區...

網路七層協議 五層模型

socket 套接字 是通訊的基石,是支援tcp ip協議的網路通訊的基本操作單元,包含進行網路通訊必須的五種資訊 連線使用的協議,本地主機的ip位址,本地程序的協議埠,遠地主機的ip位址,遠地程序的協議埠。多個tcp連線或多個應用程式程序可能需要通過同乙個tcp協議埠傳輸資料。為了區別不同的應用程...

TCP IP五層模型 網路層 IGMP協議

1.定義 igmp internet group management protocol 是網路組管理協議,該協議執行在主機和組播路由器之間。igmp協議共有三個版本,即igmpv1 v2 和v3。主要用於建立和管理多播組,對ip分組廣播進行控制。2.icmp和igmp的區別 internet控制訊...