当前位置:   article > 正文

Linux操作系统之网络编程基本流程_linux 如何支持网络编程

linux 如何支持网络编程

一、网络编程的基本概念

  1. 什么是网络?

  1. 什么是互联网?

  1. IP地址:唯一标识一台主机

  1. MAC地址:48位 物理地址(虽然物理地址也可以唯一标识一台主机,但是物理地址不会随着位置的变化而变化,因此。我们必须使用ip地址来标识主机)

  1. 端口号:应用程序的代号。所以ip+port(端口)可以确定哪台主机上的哪个进程。归根结底网络间的通讯就是不同主机间进程的通讯。

  1. 协议:双方必须遵守的一种规则。网络协议:一组网络规定的规则的集合。

  1. 网络模型:实际使用的是tcp/ip模型。

  1. 为什么对网络进行分层?

  • 各层之间是独立的。某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口所提供的服务。

  • 只要层间接口关系保持不变,则在这层以上或以下各层均不受影响

  • 当某层提供的服务不再需要时,甚至可以将这层取消。

  • 结构上可分割开。各层都可以采用最合适的技术来实现。

  1. 网络间如何进行数据的传输?

数据链路层是两个相邻节点进行数据的传输(A-B),而网络层是两个不相邻的节点(A-D)选择哪一条路径(ip 路由,转发),传输层解决了两个进程(A-D)间数据的传输。从而实现进程间通讯。

  1. 网络应用程序的通讯

二、tcp服务器端编程流程

  1. 流程图:

  1. 程序实现

服务器端:

客户端:

运行结果

三、编写程序出现的知识点

1.TCP头部结构(Linux高性能服务器编程)

2.三次握手

3.四次挥手

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/631715
推荐阅读
相关标签
  

闽ICP备14008679号