Я немного запутался в API сокетов, предоставляемых ОС.Согласно определению, Socket является программной абстракцией, предоставляемой ОС для доступа к транспортному уровню.
Так является ли Socket единственным способом доступа к транспортному уровню программистом?
Все ли протоколы приложений (http, DHCP, FTP и т. Д.) Поверх TCP используют сокет только для доступа к транспортному уровню?
- Где RPC вписывается в слои OSI?Подходит ли он на уровне приложений?(например, gRPC или Corba или RMI).Использует ли это также сокет под капотом для доступа к транспортному уровню?
Насколько я понимаю, существуют прошивки для уровня данных / связи, драйверы для транспортного уровня и различные реализации библиотеки протокола прикладного уровня (например,- lib для HTTP, SMTP и т. д.).Пожалуйста, поправьте меня, если я ошибаюсь.
Может быть, эти вопросы кажутся очень простыми, но создают некоторую путаницу при соединении всех точек.