TCP/IP网络编程(一)

TCP/IP网络编程(一)

1.网络分层

  • 网络接口层:包含物理层和数据链路层,简单来讲,提供数据传输的物理介质并提供可靠的数据传输(网卡,MAC)。
  • 网络层:网络层将数据包进行分组并发往目的主机或网络(IP)。
  • 传输层:提供源主机和目的主机可以进行会话的机制(TCP,UDP)。
  • 应用层:基于TCP和UDP协议实现的应用,例如FTP,DNS,HTTP等。

2.相关概念

  • MAC:数据链路层,将数据封装成帧,物理地址寻址,数据的检测重发等。
  • PHY:物理层的芯片简称为PHY芯片,MAC通过MII接口来与PHY通信。当从外部接收到数据时,将模拟信号转换为数字信号,解码后通过MII给到MAC;当有数据需要发送时,MAC通过MII将数据给PHY,数据经过编码等处理转换成模拟信号发送出去。
  • MTU:数据段长度最大值,即最大传输单元。如果IP层数据长度比MTU大,在IP层数据要进行分片,是的每个片都小于MTU。
  • ARP:ARP协议是为IP地址到MAC地址提供动态的映射关系。
  • 子网掩码:32位字段的数值,利用此字段来屏蔽原来网络地址的划分情况。不单独出现,配合IP地址使用。
  • 端口:端口是相对于TCP/UDP而言的,一个16位的整数类型值。应用程序需要对某个端口进行绑定,这样客户端可以访问主机上的此端口来与应用进行通信。好比IP地址是家里的门牌地址,而端口号是每个房间的标识,当你要去做饭时会去厨房,当你要去睡觉觉时会去卧室。端口号的值可以由用户自定或者由操作系统分配。例如HTTP的端口号默认为80,FTP的端口号默认为20和21,IEC104的端口默认为2404等。
  • 字节序:主机字节序和网络字节序。常见的字节序为小端字节序和大端字节序,网络字节序为大端字节序。字节序详解可见此文章:https://blog.csdn.net/leexiaomi6618/article/details/89441182

3.TCP网络编程架构(C/S)

  • TCP网络编程架构为C/S架构,即Client客户端和Server服务器。服务器创建服务程序等待客户端的连接,解析客户端的请求并给予响应;客户端连接服务器的IP和端口,向服务器发送请求并处理服务器的响应数据。
  • TCP_Server相关流程:初始化套接字socket -> 绑定端口 -> 监听连接 -> 接受客户端连接 -> 接受/发送数据 -> 关闭套接字。
  • TCP_Client相关流程:初始化套接字socket -> 连接服务器 -> 发送/接收数据 -> 关闭套接字。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值