网络传输原理 socket原理

网络传输
首先物理层连通  根据收件人的ip 与自己的子网掩码进行运算判断是否在同一局域网内
如果在同一局域网内向所有机器发包 目标ip收到后把它自己的mac地址返回回来
如果不在同一局域网 会交给默认网关 由网关转发 判定与收件人相同的局域网内每台机器发一份 目标ip收到后把它自己的mac地址返回回来
目标ip收到后 会根据端口号找到计算机上相应的软件

port 端口 0-1024为系统端口 1025-65535用户可以用
socket 是用ip+port结合标识互联网中唯一主机位置   ip和mac绑定
程序启动可以开多个进程 多个线程  端口可以标识程序
 

socket原理

系统内存分为: 用户态内存  系统内核态内存
应用首先在用户态内存中存储  socket发送内容要通过用户态内存 读取到系统内核态内存 操控物理硬件网卡发送内容

socket监听自己的网卡 网卡接收到内容 交给系统内核态  用户态内存从系统内核态内存读取内容
send往自己的系统太内存放 通过物理网卡发送


客户端发送的为回车 内核态缓存没有东西  物理网卡不会发送

recv :不可以发送回车    Tcp 

recvfrom:可以发送回车  Udp 





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值